如何获取PHP以将文本框与表单中的对应复选框匹配

时间:2019-05-23 23:28:03

标签: php

基本上,我在一个数据库中大约有700个客户,并在带有循环的页面中显示它们,该页面遍历了所有700个客户。此循环在每个客户旁边添加一个复选框,因此您可以选择要在第二天的时间表中选择哪个,平均大约有30个客户。

这是我的表格:

<table>
<tr>
    <td class="search_result_fullname"><?php echo $row['fullname']; ?></td>
    <td class="search_result_price">&pound;<input type="text" name="price[]" value="<?php echo $price; ?>" class="schedule_price"></td>
    <td class="search_result_phone"><a href="tel:<?php echo $phone; ?>"><?php echo $phone; ?></a></td>
    <td class="search_result_checkbox"><input type="checkbox" name="customerid[]" value="<?php echo $row['id']; ?>"></td>
</tr>
<tr>
    <td colspan="5"><input type="text" name="remarks[]" placeholder="Remarks" class="remarks"></td>
</tr>
</table>

提交此表单后,它将重新加载页面,并且我有一个if(isset($_POST['add'])){。我尝试了各种不同的循环,但我终生无法解决。

因此,该表单仅提交了一个已选中的复选框的数组。如果我致电print_r($_POST['customerid']);进行验证,则表明它正在按预期工作。然后,如果我选择客户5051,则它应该返回仅包含这两个的数组。

现在的问题是,我也想为每个客户(5051)获得正确的价格值,但是$_POST['price']的数组正在提交所有700个价格顾客。如何获得与已检查的正确客户相对应的价格?

非常感谢您的支持。

1 个答案:

答案 0 :(得分:0)

您可以设置price数组以按客户ID进行索引:

<input type="text" name="price[<?=$row['id']?>]" value="<?=$price?>" class="schedule_price">

...然后通过客户ID引用价格:

$customerIds = $_POST['customerid'];
$prices = $_POST['price'];

foreach ($customerIds as $customerId) {
  $price = $prices[$customerId];
}