我有一个 2 字段的表单来选择某些产品的类别和供应商:
<input type="checkbox" name="category[]" value="<?php echo $categories_id?>"/>
<input type="checkbox" name="supplier[]" value="<?php echo $produttori_id?>"/>
许多类别和供应商在 WHILE 循环中可用。
在提交的页面中,我创建了这两个循环来获取所有选定的类别和供应商:
if(!empty($_POST['category'])) {
foreach($_POST['category'] as $check) {
echo $check;
echo "<br>";
}
}
和:
if(!empty($_POST['supplier'])) {
foreach($_POST['supplier'] as $check) {
echo $check;
echo "<br>";
}
}
现在我必须执行查询以仅选择包含在两个数组中的记录:
SELECT * FROM PRODUCTS WHERE supplier [is in the supplier array] AND category [is in the category array]
我怎样才能做到这一点?
最佳答案
您可以使用 php 函数 implode
'SELECT * FROM PRODUCTS WHERE supplier in ('.implode(',', $_POST["supplier"]).' ) AND category in ('.implode(',', $_POST["类别"]).')
但要先验证输入,防止sql注入(inject)
关于php - 在php中合并来自两个不同数组的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43497997/