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

Più valori a discesa inseriti in una singola riga non in più righe

Prima di tutto, per favore non usare mysql_* poiché è deprecato, usa mysqli_ o PDO invece.

ora se vuoi solo i valori delle opzioni, fallo in questo modo

<select name="game[]" multiple="multiple">
      <option value="1">Football</option>
      <option value="2">Volleyball</option>
      ...
</select>

in questo modo ti darà 1,2,.... . Spero sia quello che stai cercando.

e se stai cercando una query come questa

INSERT INTO tb (`game`) VALUES ('Football'),('Volleyball')

supponendo che id il campo viene incrementato automaticamente, quindi modifica il codice come segue:
codice html

<select name="game[]" multiple="multiple">
  <option>Football</option>
  <option>Volleyball</option>
  ...
</select>

codice php

$choice=$_POST['game'];   
$sql = "INSERT INTO tb (`game`) VALUES ";
$sqlValues= null;
foreach($choice as $ch) {
    $sqlValues .= "('$ch')," ;                     
}
$sql.=rtrim($sqlValues, ",");                      
echo $sql;

in questo modo potresti ottenere

id         game
1          cricket
2          football