sql >> Databasteknik >  >> RDS >> Mysql

Flera rullgardinsvärden infogas i en enda rad inte i flera rader

Först och främst, använd inte mysql_* eftersom den är utfasad, använd mysqli_ eller PDO istället.

nu om du bara vill ha värdena för alternativen, gör det så här

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

på detta sätt ger den dig 1,2,.... . Hoppas det är vad du letar efter.

och om du letar efter en sådan här fråga

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

förutsatt att id fältet ökas automatiskt, ändra sedan koden enligt följande:
html-kod

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

php-kod

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

på detta sätt kan du få

id         game
1          cricket
2          football


  1. är det möjligt att ha accentkänslig och skiftlägesokänslig utf8-kollation i mysql?

  2. MySql-arbetsbänksfrågehistorik (senast exekverade fråga/frågor) d.v.s. skapa/ändra tabell, välj, infoga uppdateringsfrågor

  3. Hur ställer man in teckenuppsättning för MySQL i RODBC?

  4. Hur tar jag reda på standardserverns teckenuppsättning i mysql?