【发布时间】:2020-04-07 11:36:12
【问题描述】:
我有一个从表单接收一些复选框值的 php 文件。复选框名称和值都设置为匹配 mysql 表中的 Item_Name 字段。我目前的尝试如下:
while($row = $items->fetch_assoc()){
if( isset($_POST[$row['Item_Name']])) {
\\ Code to perform if true, mostly echoes
}
}
//Checkbox setup:
echo "<input type='checkbox' name=" . $row['Item_Name'] . "value=" . $row['Item_Name'] . ">"
$items 是我查询mysql表返回的数据。目前 if 中的任何回声都没有触发,所以我认为我的 if 语句有问题,但我是 php 新手,确切知道什么是错误的。
【问题讨论】:
-
没有足够的代码知道原因。假设
$row['Item_Name']是Bags。现在 PHP 正在寻找$_POST['bags']。除此之外,由您来调试它。也许试试var_dump($_POST);? -
为此您需要一个
foreach,并确保输入具有[]多个数组括号。 -
@Machavity 我的错我做了一个 $_POST 的 var 转储,它返回了这个
array(2) { ["Applevalue=Apple"]=> string(2) "on" ["Milkvalue=Milk"]=> string(2) "on" } -
@FunkFortyNiner foreach 会在这里替换 while 循环。我只是对它的外观有点困惑
-
我猜
$row['Item_Name']中的值实际上是Apple和Milk等,所以问题似乎出在复选框的name属性的生成中。