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. 優れたユニバーサルPHPMySQLHTTPトンネルはありますか?

    2. 特定の条件を満たす連続日数の最大値をチェックする

    3. 親IDの順にレコードを選択する

    4. SQL-JOINを含むWHERE句