0

複数のチェックボックスの値をデータベースに挿入するにはどうすればよいですか? これが私のコードです。値が1つしかないラジオボタンで機能しますが、チェックボックスがある場合、どうすればさらに挿入できますか?

PHP コード:

if(isset($_POST['radio']) &&
    isset($_POST['checkbox'])){

    $radio = $_POST['radio'];
    $checkbox= $_POST['checkbox'];

    $sql = "INSERT INTO info(radio, checkbox)VALUES ('$radio', '$checkbox')";
    $result = mysql_query($sql);

}

HTML コード:

<input type="radio" name="radio" value="1">1<br>
<input type="radio" name="radio" value="2">2<br>

<input type="checkbox" name="checkbox" value="1">1<br>
<input type="checkbox" name="checkbox" value="2">2<br>
<input type="checkbox" name="checkbox" value="3">3<br>
<input type="checkbox" name="checkbox" value="4">4<br>
<input type="checkbox" name="checkbox" value="5">5<br>
<input type="checkbox" name="checkbox" value="6">6<br>
4

3 に答える 3

2

HTML

<input type="radio" name="radio" value="1">1<br>
<input type="radio" name="radio" value="2">2<br>

<input type="checkbox" name="checkbox[]" value="1">1<br>
<input type="checkbox" name="checkbox[]" value="2">2<br>
<input type="checkbox" name="checkbox[]" value="3">3<br>
<input type="checkbox" name="checkbox[]" value="4">4<br>
<input type="checkbox" name="checkbox[]" value="5">5<br>
<input type="checkbox" name="checkbox[]" value="6">6<br>

Php

foreach を使用してチェックボックスのすべての値を取得する

//Do the necessary coding and then
if(!empty($_POST['checkbox']))
   foreach($_POST['checkbox'] as $key=>$value){
      if(trim($value) != ''){
         //Do insertion here
      }
   }
}
于 2013-11-01T13:04:25.060 に答える
0

チェックボックスの名前を次のように変更します。

<input type="checkbox" name="checkbox[]" value="1">1<br>
<input type="checkbox" name="checkbox[]" value="2">2<br>
<input type="checkbox" name="checkbox[]" value="3">3<br>
<input type="checkbox" name="checkbox[]" value="4">4<br>
<input type="checkbox" name="checkbox[]" value="5">5<br>
<input type="checkbox" name="checkbox[]" value="6">6<br>

PHPでそれを行います:

$radio = $_POST['radio'];
$sql = 'INSERT INTO info(radio, checkbox)';

foreach($_POST['checkbox'] as $item){
    $sql .=  "VALUES('$radio', '$item')," ;
}

$sql = trim($sql, ','); //remove the last ',';
//performe all insert at once.

mysql_* 関数の使用を避け、PDOを試してください

于 2013-11-01T13:10:59.520 に答える
0

PHPコア関数serialize()を使用し、unserialize()

于 2013-11-01T13:03:56.320 に答える