sql >> Database teknologi >  >> RDS >> Mysql

Flere dropdown-værdier, der indsættes i en enkelt række, ikke i flere rækker

Først og fremmest, brug venligst ikke mysql_* da det er forældet, brug mysqli_ eller PDO i stedet.

nu, hvis du bare vil have værdierne af muligheder, så gør det sådan her

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

på denne måde vil det give dig 1,2,.... . Håber det er det, du leder efter.

og hvis du leder efter en forespørgsel som denne

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

forudsat at id feltet øges automatisk, og skift derefter koden som følger:
html-kode

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

php-kode

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

på denne måde kan du få

id         game
1          cricket
2          football


  1. Indsamlingsmetode:LIMIT-funktion i Oracle-databasen

  2. SQL, hvor joined sæt skal indeholde alle værdier, men kan indeholde flere

  3. PostgreSQL :cast streng til dato DD/MM/ÅÅÅÅ

  4. Simuleret OLAP