sql >> Databasteknik >  >> RDS >> Mysql

Värdet för tabellkolumnen med kommatecken måste separeras medan separerade data visas i en vy

Vanligtvis kan du använda explode med detta, men att bara använda explodera är ett naivt tillvägagångssätt eftersom det finns lite sanering att göra,

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

Detta gör 3 saker.

  • explodera $teams med kommatecken
  • matriskarta, som kör en funktion mot varje objekt, i det här fallet trim som tar bort blanksteg
  • matrisfilter som tar bort tomma objekt ifall du har ett objekt som detta item,, - Observera dock att array_filter också tar bort element med false och 0 såväl som tomma, men i det här fallet borde det vara tillräckligt.

Att nu konvertera arrayen till din markering borde vara relativitetstrivial,

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>';

Det finns inget behov av att välja standardobjektet, om det renderas först och det inte finns något val kommer det att väljas som standard, $selection är bara för formklibbighet och du kan utelämna eller ändra det som dina behov dikterar.

Det sista är att du måste titta på höljet här, eftersom du har blandat hölje så jag är inte 100% säker på vilket du vill ha, till exempel india kontra India .

Använd strtolower() för att ge gemener Använd bara ucfirst() för att versal den första bokstaven

Jag har inte heller testat detta men det borde vara ganska nära minus eventuella stavfel som jag kan ha gjort.



  1. psql - spara resultat av kommandot till en fil

  2. Mysql subquery hjälp

  3. Använder JShell i Java 9 i NetBeans 9.0, del 2

  4. Välj 2 kolumner och slå samman data