我有一个动态表单,每行都有相应的复选框。
<?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以显示计划。
答案 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']
您当然可以以相同的方式使用该值。