如何在php中检索已检查的值

时间:2011-02-17 11:32:44

标签: php

我是php的新手。我有一个包含多个复选框值的表单。我想检索已检查的值并在其他php表单上显示这些值。

如果我们添加没有while循环的复选框,下面是完全正常的代码。 但是当通过while循环添加时,我无法获取所选项目。

xyzhtml.php (html表格)

<?PHP
        require ("DBConnect.php");
        $selectQuery =mysql_query( "SELECT * FROM fruits where approved = 0");
        while($row = mysql_fetch_array($selectQuery))
        {
          $fruit_name = $row['fruit_name'];
           echo "<input type=\"checkbox\" name=\"things[]\" value=\"$fruit_name\">";
           echo "<br>";
        }
        ?>

 On click of submit I call other php clled "xyz.php".
    Below is the code used in it.

 <?php

  $checkBox = $_POST['things'];

  echo $checkBox[0];
  for($i=0; $i<sizeof($checkBox); $i++){

  echo($checkBox[$i]);


  }

  ?>

请帮忙。 提前谢谢。

3 个答案:

答案 0 :(得分:1)

要检查两件事:

  1. 您是从MySQL SELECT语句中获取正确的值(检查您的HTML是否为空复选框值,并检查您的MySQL数据库中是否有已批准字段设置为0的水果以查看是否存在)

    < / LI>
  2. 如果您没有勾选复选框并提交表单,则未提交未选中复选框的值 - 您是否考虑过这个问题?

答案 1 :(得分:0)

使用foreach记录$ _POST ['things']

if (!empty($_POST['things'])) {
   foreach ($_POST['things'] as $value) {
     echo "the value are: ".$value;
   }
}

注意:teh $ _POST ['things']不是$ _POST ['things []']

答案 2 :(得分:0)

我认为您的代码应该有效,但如果没有选中复选框,将不会显示任何内容

但是我会删除显式的echo $checkbox[0](除非这是出于测试目的)。

尝试使用print_r($checkbox)查看该数组中的实际内容。