Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wartość kolumny tabeli z przecinkiem należy oddzielić podczas pokazywania rozdzielonych danych w widoku

Zazwyczaj można użyć tego narzędzia, jednak samo użycie explode jest naiwnym podejściem, ponieważ trzeba trochę oczyścić,

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

To robi 3 rzeczy.

  • rozbij $teams przecinkami
  • mapa tablic, która uruchamia funkcję dla każdego elementu, w tym przypadku przycinanie, które usuwa białe znaki
  • filtr tablicy, który usuwa puste elementy na wypadek, gdybyś miał taki element jak ten item,, - zauważ jednak, że array_filter usunie również elementy z false i 0 jak również puste, ale w tym przypadku powinno wystarczyć.

Teraz konwersja tablicy na znaczniki powinna być banalnie prosta,

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

Nie ma potrzeby wybierania domyślnego elementu, jeśli jest on renderowany jako pierwszy i nie ma wyboru, zostanie wybrany domyślnie, $selection służy tylko do lepkości formularzy i można to pominąć lub zmodyfikować zgodnie z własnymi potrzebami.

Ostatnią rzeczą jest to, że będziesz musiał uważać na wielkość liter, ponieważ masz mieszaną wielkość liter, więc nie jestem w 100% pewien, którą chcesz, na przykład india kontra India .

Aby pisać małymi literami, użyj strtolower() aby wielka pierwsza litera używała tylko ucfirst()

Nie testowałem tego, ale powinno być dość blisko, bez literówek, które mogłem popełnić.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie o wybór ciągów kończy się określonym znakiem

  2. System producent/konsument korzystający z bazy danych (MySql), czy jest to wykonalne?

  3. jak losowo pobierać pytania z bazy danych?

  4. Łączenie Androida z MS SQL SERVER 2008

  5. Jak połączyć mysql z Basexem?