Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wiele wartości rozwijanych wstawia się w jednym wierszu, a nie w wielu wierszach

Przede wszystkim nie używaj mysql_* ponieważ jest przestarzały, użyj mysqli_ lub PDO zamiast tego.

teraz, jeśli chcesz tylko wartości opcji, zrób to w ten sposób

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

w ten sposób otrzymasz 1,2,.... . Mam nadzieję, że tego właśnie szukasz.

a jeśli szukasz takiego zapytania

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

zakładając, że id pole jest automatycznie zwiększane, a następnie zmień kod w następujący sposób:
kod html

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

kod php

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

w ten sposób możesz uzyskać

id         game
1          cricket
2          football


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak korzystać z wielu baz danych dla jednej aplikacji rails 3.1 w Heroku?

  2. Błąd identyfikatora zasobu #6 w PHP z MySQL

  3. Jak mogę użyć wiersza instrukcji mySQL SELECT IF, aby dołączyć do innej tabeli?

  4. Konwertowanie rozdzielanego ciągu na wiele wartości w mysql

  5. Liczba puli połączeń MySQL