sql >> Base de Datos >  >> RDS >> Mysql

Múltiples valores desplegables que se insertan en una sola fila, no en varias filas

En primer lugar, no utilice mysql_* como está en desuso, use mysqli_ o PDO en su lugar.

ahora, si solo desea los valores de las opciones, hágalo así

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

de esta manera te dará 1,2,.... . Espero que eso sea lo que estás buscando.

y si está buscando una consulta como esta

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

asumiendo que id el campo se incrementa automáticamente, luego cambie el código de la siguiente manera:
código html

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

código php

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

de esta manera podrías obtener

id         game
1          cricket
2          football