sql >> Database teknologi >  >> RDS >> Mysql

Værdien af ​​tabelkolonnen med komma skal adskilles, mens separerede data vises i en visning

Typisk kan du bruge explode med dette, men blot at bruge explode er en naiv tilgang, da der skal ryddes lidt op,

 $array =  array_filter( array_map('trim', explode(',', $teams ) ) );

Dette gør 3 ting.

  • eksploder $teams med komma
  • array map, som kører en funktion mod hvert element, i dette tilfælde trim, som fjerner mellemrum
  • matrixfilter, som fjerner tomme elementer, hvis du har et element som dette item,, - Bemærk dog, at array_filter også vil fjerne elementer med false og 0 såvel som tomme, men i dette tilfælde burde det være tilstrækkeligt.

At konvertere arrayet til din markup nu burde være relativitets trivielt,

echo '<select name="tournament_team" class="form-control" >';
echo '<option value="">--- Select Team ---</option>';
foreach( $array as $item ){
    if($_POST['tournament_team'] == $item){
        $selected = ' selected="selected"';
    }else{
        $selected = '';
    }
      echo '<option value="'.$item.'"'.$selected.'>'.$item.'</option>';
}
echo '</select>';

Der er ingen grund til at vælge standardelementet, hvis det gengives først, og der ikke er noget valg, vil det blive valgt som standard, $selection er kun for form klæbrighed, og du kan udelade eller ændre det, som dine behov dikterer.

Sidste ting er, at du bliver nødt til at se hylstret her, fordi du har blandet hylster, så jeg er ikke 100 % sikker på, hvilken du vil have, for eksempel india vs India .

Brug strtolower() for at bruge små bogstaver for at bruge stort første bogstav kun ucfirst()

Jeg har heller ikke testet dette, men det burde være ret tæt på minus eventuelle stavefejl, som jeg kunne have lavet.



  1. Python MySQL-konnektor returnerer bytearray i stedet for almindelig strengværdi

  2. hvordan man ændrer datoformat på denne html-brugerformular

  3. Oracle 11g OPRET VISNING ved hjælp af CONNECT BY og flere tabeller

  4. Problemsæt 1 – Identifikation af enheder