首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何让PHP将文本框与表单中相应的复选框进行匹配

如何让PHP将文本框与表单中相应的复选框进行匹配
EN

Stack Overflow用户
提问于 2019-05-24 07:28:03
回答 1查看 107关注 0票数 0

基本上,我在一个数据库中有大约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'])){。我尝试过各种不同的循环,但我终生都搞不懂如何做到这一点。

因此,表单提交了一个仅包含选中的checkboxs的数组。如果我调用print_r($_POST['customerid']);来验证,它会显示这是按预期工作的。然后,如果我选择customer 5051,那么它应该返回一个只包含这两个数组的数组。

现在的问题是,我还希望获得每个客户(5051)的正确价格值,但$_POST['price']的阵列提交的是所有700个客户的价格。如何使价格与我检查过的正确客户相对应?

任何支持都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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];
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56284089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档