【发布时间】:2016-06-09 21:04:24
【问题描述】:
我正在建立一个系统,该系统对一个问题有很多答案。因此用户可以点击一个按钮来动态添加答案。我希望用户能够勾选正确答案旁边的复选框,然后将其插入数据库(1 是正确的)。
这是我所拥有的:
HTML:
<div id="answers">
<label class="answer">
Answer:
<input type="text" name="ab_name[]" value=""/>
Correct?
<input type="checkbox" name="ab_correct[]" value="0">
</label>
</div>
PHP
$ab_name = $_POST['ab_name'];
$ab_correct = $_POST['ab_correct'];
$sql = "INSERT INTO answers_bank (`ab_name`, `ab_correct` ) VALUES (:ab_name, :ab_correct )";
$stmt = $db->prepare($sql);
foreach ($_POST['ab_name'] as $ab_name) {
$stmt->bindValue(':ab_name', $ab_name);
$stmt->bindValue(':ab_correct', $ab_correct);
$stmt->execute();
}
像这样:
SQL 插入ab_name,但ab_correct 始终设置为1,无论是否勾选。请问有这方面的指导吗?
【问题讨论】:
-
你并没有循环遍历 $ab_correct 数组。
-
如果
ab_correct没有被选中就不会发送,你是在运行JS来检查吗?$ab_correct和$_POST['ab_correct']是数组。