【发布时间】:2016-01-18 04:02:49
【问题描述】:
我有 3 张桌子:
people:
------------------------
peopleID,
firstname
peopletype:
------------------------
peopletypeID,
type
peoplepeopletype (junction table):
------------------------
peopleID,
peopletypeID
在添加表单上一切都很好,但我无法显示为分配的人员类型选中的复选框
这是我的代码。
从 peoplepeopletype 表中检索数据:
/*PEOPLE TYPE ************* */
$stmt = $conn->prepare("SELECT * FROM peoplepeopletype WHERE peopleID=?");
// set parameters and execute
if ( !$stmt ) { echo "error"; }
else if ( !$stmt->bind_param('i', $_GET['peopleID']) ) { echo "error";}
else if ( !$stmt->execute() ) { echo "error"; }
else {
$result = $stmt->get_result();
while($row = $result->fetch_assoc()) {
$peopletypeIDfromdb = $row ['peopletypeID'];
echo $peopletypeIDfromdb; /*echo only for test purposes, but I don't know how to use this in the form */
}
} /* end else */
显示复选框:
<?php /*retrieve peopletype from db */
$sql = "SELECT * from peopletype";
$result = $conn->query($sql);
while($row = $result->fetch_assoc()) {
echo '<input required="required" type="checkbox" name="peopletypeID[]" value="' . $row["peopletypeID"] . '"';
if ($peopletypeIDfromdb = $row["peopletypeID"]) { /*problem is probably here*/
echo 'checked';
}
echo '>' . $row["type"];
}
?>
感谢您的帮助!
【问题讨论】:
-
有什么问题?即使适当的类型附加到一个人,是否没有选中任何复选框?
-
1个人可以绑定多个类型吗?
-
@user4035 复选框始终被选中(全部 4 个)即使人员只有 1 个类别。是的,允许更多类型(input required="required" 适用于 jquery)
-
第一次循环后你
var_dump($peopletypeIDfromdb);了吗? 1个人可以有多种类型吗? -
@user4035 试过
while($row = $result->fetch_assoc()) { echo '<input required="required" type="checkbox" name="peopletypeID[]" value="' . $row["peopletypeID"] . '"'; if ($peopletypeIDfromdb = $row["peopletypeID"]) {echo 'checked';} echo '>' . $row["type"]; var_dump($peopletypeIDfromdb); }不工作...