基本上,我在一个数据库中有大约700个客户,我将他们显示在一个带有循环的页面中,该页面遍历所有700个客户。此循环在每个客户旁边添加了一个复选框,以便您可以选择要将其中一个放到未来几天的计划中,平均约为30个客户。
这是我的表格:
<table>
<tr>
<td class="search_result_fullname"><?php echo $row['fullname']; ?></td>
<td class="search_result_price">£<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'])){
。我尝试过各种不同的循环,但我终生都搞不懂如何做到这一点。
因此,表单提交了一个仅包含选中的checkboxs的数组。如果我调用print_r($_POST['customerid']);
来验证,它会显示这是按预期工作的。然后,如果我选择customer 50
和51
,那么它应该返回一个只包含这两个数组的数组。
现在的问题是,我还希望获得每个客户(50
和51
)的正确价格值,但$_POST['price']
的阵列提交的是所有700个客户的价格。如何使价格与我检查过的正确客户相对应?
任何支持都是非常感谢的。
发布于 2019-05-24 07:57:19
您可以将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];
}
https://stackoverflow.com/questions/56284089
复制相似问题