-4

我在 PHP 中使用 POST 获取一些数据。当复选框被选中时,没有问题,但是如果其中一行有一个未选中的复选框,则所有复选框的顺序都消失了。我尝试打印数组,我看到如果未选中复选框,则不会写入其值。

例如,如果我有 5 行,我检查了其中的 2 行。这个数组的大小是 2 而不是 5。如何将未选中的复选框转换为“0”值?

<input onchange="saveChanges();" type="checkbox" name="showS[]" value="1">
4

5 回答 5

0

用这个逻辑来做

 <?php
      $checkbox = isset($_POST['checkbox'])?$_POST['checkbox']:0;
      ....
于 2012-10-26T09:39:52.607 回答
0

当有未选中的复选框时,它不会添加到 _POST 数组中,所以你什么都得不到。

于 2012-10-26T09:40:07.883 回答
0

为复选框设置适当的值(例如,数据库表中与复选框相关的行的主键列的值)。

处理数组中的,而不是索引。

于 2012-10-26T09:40:37.900 回答
0

你可以做几件事。一种是通过这样做来实际显示检查的内容:

<input onchange="saveChanges();" type="checkbox" name="showS[value1]" value="1">

当然,您也可以只使用唯一标识符而不是数组。另一种选择是用值而不是名称来区分。

于 2012-10-26T09:40:54.327 回答
0

如果您没有在 POST 请求中提交的值(用于isset确定这一点),则false在适当的地方设置,否则使用提交的字段的值。

于 2012-10-26T09:39:19.430 回答