我想获取已选中复选框的所有值,并将所有这些值插入数据库。
<form action="test.php" id="poll" name="poll" method="post">
<input type="checkbox" class='lol' name="lol[]" value="cake">Cake :D
<br>
<input type="checkbox" class='lol' name="lol[]" value="pie">Pie
<br>
<input type="checkbox" class='lol' name="lol[]" value="cupcakes">Cupcakes ^O^
<br>
<input type="checkbox" class='lol' name="lol[]" value="brownies">Brownies :D
<br>
<input type="submit" value="Vote">
</form>
这是我的PHP代码。
$checkBox = $_POST['lol'];
for ($i=0; $i< sizeof($checkBox); $i++) {
$query = "INSERT INTO castvote (candidate) VALUES ('".$checkBox[$i]."')";
mysql_query($query) or die(mysql_error());
}
答案 0 :(得分:3)
<?php
if(isset($_POST['lol'])){
if (is_array($_POST['lol'])) {
foreach($_POST['lol'] as $value){
query here
}
} else {
echo "nothing checked";
}
}
?>
答案 1 :(得分:2)
你的php代码应该是这样的,
<?php
$data = "";
$checkBox = $_POST['lol'];
foreach($_POST['lol'] as $value) {
$data .= "(\"".$value."\"),"; // concatenate your checked values
}
$data = substr($data,0,strlen($data)-1); // for removing the `,` symbol
$query = "INSERT INTO castvote (candidate) VALUES ". $data. ";";
mysql_query($query) or die(mysql_error());
?>
“使用INSERT 具有多个VALUES列表的语句,用于在a处插入多行 时间。这要快得多(在某些情况下要快很多倍) 而不是使用单独的单行INSERT语句。“reference
答案 2 :(得分:1)
SQL查询如下所示:INSERT INTO castvote (candidate) VALUES ("value","value2");
我的意思是你必须在值之间插入逗号(,)。我也会在复选框中使用不同的名称。
修改强>
<?php
$array = array("foo", "bar", "hallo", "world"); //your array will be different
$text = "(";
for($i = 0;$i<count($array);$i++)
{
if($i == count($array)-1)
{
$text .= '"'.$array[$i].'"';
}
else
{
$text .= '"'.$array[$i].'", ';
}
}
$text .= ");";
$query = "INSERT INTO castvote (candidate) VALUES ".$text;
echo $query;
?>
答案 3 :(得分:1)
使用foreach循环并尝试创建像这样的单个查询
INSERT INTO tablename(
`id` ,
`provider_id` ,
`service_id` ,
`voucher_id`
)
// your loop goes here
VALUES (
NULL , '78', '90', '94'
), (
NULL , '67', '78', '89'
);
答案 4 :(得分:0)
这是代码:
for ($j=0; $j < count($_POST['lol']);$j++)
{
$insert=mysql_query("INSERT INTO castvote (candidate) VALUES '".$_POST['lol'][$j]."')");
}
答案 5 :(得分:0)
在您的提交类型输入字段中添加名称属性,然后编写您的PHP代码。喜欢-
<input type="submit" name="save" value="Vote">
<?php
if (isset($_POST["save"])) {
$checkBox = $_POST['lol'];
foreach ($checkBox as $key => $value) {
$query = "INSERT INTO castvote (candidate) VALUES ('".$value."')";
mysql_query($query) or die(mysql_error());
}
}
?>