sql >> Databáze >  >> RDS >> Mysql

Více rozbalovacích hodnot vkládání do jednoho řádku, nikoli do více řádků

Nejprve prosím nepoužívejte mysql_* protože je zastaralý, použijte mysqli_ nebo PDO místo toho.

nyní, pokud chcete pouze hodnoty možností, udělejte to takto

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

tímto způsobem vám dá 1,2,.... . Doufám, že to je to, co hledáte.

a pokud hledáte dotaz jako tento

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

za předpokladu, že id pole se automaticky zvýší, poté změňte kód následovně:
html kód

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

kód php

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

tímto způsobem byste mohli získat

id         game
1          cricket
2          football


  1. Proč nejsou agregační funkce povoleny v klauzuli where

  2. Jak používat NHibernate s MySQL serverem a Microsoft SQL serverem 2008

  3. MySQL SELECT LAST_INSERT_ID() pro složený klíč. Je to možné?

  4. Podmíněně definujte kurzor