0

我有多个具有相同输入名称的复选框,如下所示

<input type="checkbox" name="pop[]" value="pop1">pop1<br>
<input type="checkbox" name="pop[]" value="pop2">pop2<br>
<input type="checkbox" name="pop[]" value="pop3">pop3<br>
<input type="checkbox" name="pop[]" value="pop4">pop4 <br>
<input type="checkbox" name="pop[]" value="pop5">pop5<br>
<input type="checkbox" name="pop[]" value="pop6">pop6 <br>
<input type="checkbox" name="pop[]" value="pop7">pop7<br>
<input type="checkbox" name="pop[]" value="pop8">pop8 <br>

数据库表包含两列 (IDPOPNAME)。

我需要检查每个弹出窗口以在单独的行中插入数据库但具有相同的 ID,所以这是我的 PHP:

$pop = implode(',', $_POST['pop']);
mysql_query("INSERT INTO pops (id, popname) VALUES (LAST_INSERT_ID(), '$pop')");

但这不起作用。我试图坚持这个答案使爆炸然后用于每个但也不起作用。这是 foreach 代码:

$pop = implode(',', $_POST['pop']);
$pops = explode(',', $pop);
foreach ($pops as $pop )
{
    mysql_query("INSERT INTO pops (id, popname) VALUES (LAST_INSERT_ID(), '$pop')");
}

我错过了什么吗!

4

2 回答 2

1

解决了。

问题被$pop定义两次 一个作为 var 另一个在foreach

所以在重命名第一个 var 之后一切正常

$popimp = implode(',', $_POST['pop']);
$pops = explode(',', $pop);
foreach ($pops as $pop )
{
mysql_query("INSERT INTO pops (id, popname) VALUES (LAST_INSERT_ID(), '$pop')");
}
于 2015-04-26T06:51:03.953 回答
1

PDO php: 数据库连接代码:

<?php
$dbhost = 'localhost';
$dbname = 'yourDB';
$dbuser = 'root';
$dbpass = '';

try {
    $db = new PDO("mysql:host={$dbhost};dbname={$dbname}",$dbuser,$dbpass);
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}

catch(PDOException $e) {
    echo "Connection error: ".$e->getMessage();
}
?>

和php代码:

 $pop= implode(', ', $_POST['pop']);
 $statement = $db->prepare("INSERT INTO popTable (pop) VALUES (?)");
 $statement->execute(array($pop));
 $success_message = "Order's has been inserted successfully.";

html:

<form action="pop_form">
        <input type="checkbox" name="pop[]" value="pop1">pop1<br>
        <input type="checkbox" name="pop[]" value="pop2">pop2<br>
        <input type="checkbox" name="pop[]" value="pop3">pop3<br>
        <input type="checkbox" name="pop[]" value="pop4">pop4 <br>
        <input type="checkbox" name="pop[]" value="pop5">pop5<br>
        <input type="checkbox" name="pop[]" value="pop6">pop6 <br>
        <input type="checkbox" name="pop[]" value="pop7">pop7<br>
        <input type="checkbox" name="pop[]" value="pop8">pop8 <br>
   <input type="submit" value="Submit"/>
</form>
于 2016-06-25T06:30:53.213 回答