php - 在php中合并来自两个不同数组的记录

标签 php mysql arrays

我有一个 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/

相关文章:

php - 模拟测试对象的公共(public)方法

php - 在 PHP 中从 MySQL 表数据创建 CSV 文件

javascript - 单击将单选按钮值插入 mysql

php - 如何在 Laravel 中将图片路径保存到数据库中?

php - 我怎样才能让我的数据库在这个 "foreach"循环中使用 PHP 更新不止一次?

具有多个唯一键的 MySQL "Insert ... On Duplicate Key"

c++ - 通过 vector 下标访问 Fortran 数组,cpp 等效

c++ - 从 C++ 文件中读取后,如何将常规字符串数组转换为 const 字符串数组?

C++ 数组问题

php - 如何在 codeigniter 代码中使用两个或多个存储过程?