Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Mehrere Dropdown-Werte werden in eine einzelne Zeile eingefügt, nicht in mehrere Zeilen

Bitte verwenden Sie zunächst nicht mysql_* da es veraltet ist, verwenden Sie mysqli_ oder PDO stattdessen.

Wenn Sie jetzt nur die Werte von Optionen wollen, dann machen Sie es so

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

Auf diese Weise erhalten Sie 1,2,.... . Ich hoffe, das ist es, wonach Sie suchen.

und wenn Sie nach Abfragen wie dieser suchen

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

unter der Annahme, dass id automatisch erhöht wird, ändern Sie dann den Code wie folgt:
HTML-Code

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

php-Code

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

auf diese Weise könnten Sie

erhalten
id         game
1          cricket
2          football