如何获取所选复选框的对应值

时间:2015-06-29 07:03:00

标签: php mysql

我有一个动态表单,每行都有相应的复选框。

<?php 
  $q2 = mysql_query("SELECT * from plan ORDER BY id ASC");
  while($result=mysql_fetch_array($q2))
   {
?>

<tr class="phbg">
 <td width="50%"><?php echo $result['plan_name'];?></td>
 <td width="25%" class="pc"><? echo '$';echo $result['price'];?></td>
 <td width="25%" class="pc"><input type="hidden" name="id[]" id="id" value="  <?php echo $result['id'];?>">
 <input type="checkbox" name="check_list[]" value="<? echo $result['price'];?>"></td>
</tr>   
<?php  } ?>

Plan    Price   Choose
PHP       $3     []
.Net      $2     []
C#        $6     []
Java      $2     []
C++       $10    []
ROR       $2     []

用户可以选择多个选项。最后将显示所选计划的总数。总的来说,我将该页面重定向到total.php页面。

总共做了

选定的计划。在total.php页面上,我想获得相应的Id值或所选计划的计划名称。我只是得到了最后一列的ID而不是

所选列。然后在total.php页面之后,用户将填写他/她的详细信息并提交详细信息以及所选的计划和价格。如何检索所选复选框值的ID以显示计划。

1 个答案:

答案 0 :(得分:0)

你接近错了:

Failed to read PID from file /run/nginx.pid: Invalid argument

由于只有选中的复选框才会发送到服务器,您将无法通过其ID识别复选框;如果仅检查第三个,则其在数组中的键将为<input type="checkbox" name="check_list[]" value="<? echo $result['price'];?>"> 。当您使用货币值作为其值时,您将无法通过值识别复选框,因为不同框的值可以相同。

简而言之:在发送表单时,您将无法识别选中的复选框。

要纠正您需要使名称(服务器上的密钥)值唯一,以便您可以将其链接到数据库。

为ID执行此操作的一种简单方法是在循环中设置ID:

0

现在你可以遍历<input type="checkbox" name="check_list[<?php echo $result['id'];?>]" value="<? echo $result['price'];?>"> ^^^^^^^^^^^^^^^^^^^^^^^^^^^ set the key manually ,并且foreach循环中的键将包含数据库中项目的ID:

$_POST['check_list']

您当然可以以相同的方式使用该值。