sql >> Databáze >  >> RDS >> Mysql

Při zobrazení oddělených dat v pohledu je třeba oddělit hodnotu sloupce tabulky čárkou

Obvykle s tím můžete použít explode, ale samotné použití explode je naivní přístup, protože je třeba udělat trochu vyčištění,

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

To dělá 3 věci.

  • rozdělit $teams čárkou
  • mapa pole, která spouští funkci pro každou položku, v tomto případě trim, který odstraňuje mezery
  • Filtr pole, který odstraní prázdné položky pouze v případě, že máte položku jako je tato item,, - všimněte si však, že array_filter také odstraní prvky s false a 0 stejně jako prázdné, ale v tomto případě by to mělo být dostatečné.

Nyní by převod pole na vaše značky mělo být relativitou triviální,

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

Není třeba vybírat výchozí položku, pokud je vykreslena jako první a neexistuje žádný výběr, bude vybrána ve výchozím nastavení, $selection je pouze pro lepivost formy a můžete ji vynechat nebo upravit podle vašich potřeb.

Poslední věcí je, že zde budete muset sledovat střívka, protože máte smíšená střívka, takže si nejsem 100% jistý, které chcete, například india vs India .

Pro malá písmena použijte strtolower() pro velké první písmeno použijte pouze ucfirst()

Také jsem to netestoval, ale mělo by to být docela blízko bez překlepů, které jsem mohl udělat.



  1. Nově přiřazená sekvence nefunguje

  2. Počítání všech řádků s konkrétními sloupci a seskupení podle týdnů

  3. Bezpečně ukládejte HTML v DB bez ovlivnění kódování znaků

  4. Možnosti formátování SQLcl (Oracle)