Mysql
 sql >> база данни >  >> RDS >> Mysql

Вмъкване на множество падащи стойности в един ред, а не в няколко реда

Преди всичко, моля, не използвайте mysql_* тъй като е отхвърлен, използвайте mysqli_ или PDO вместо това.

сега, ако просто искате стойностите на опциите, направете го така

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

по този начин ще ви даде 1,2,.... . Надявам се това да търсите.

и ако търсите заявка като тази

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

като приемем, че id полето се увеличава автоматично, след което променете кода, както следва:
html код

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

php код

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

по този начин можете да получите

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. преминаване от MySQL към PostgreSQL за Ruby on Rails в името на Heroku

  2. MySQL SUM заявката е изключително бавна

  3. mysql подреждане по сериализирани данни?

  4. c9.io - как да намерите адреса на хоста, за да направите mysql връзка в платформата node.js

  5. Върнете данните от редовете с най-новата дата на всеки отделен идентификатор_кандидат