php - 使用 PHP 数组实现 AND 功能的 SQL 查询

标签 php mysql sql

我正在使用 PHP 和 MySql。我需要一个查询,它应该根据我的要求获取结果。

我有一个表 property_features_table,其中包含具有某些功能的属性。

在前端我有一个搜索功能。当用户选择多个功能时假设 阳台、无线网络、两卧室等,应该向他展示具有他选择的所有功能的特性。

但是当我使用以下代码时,我得到的结果(属性)至少具有其中一项功能。

$featuresString = implode("','",$features);
$featuresString = "'".$featuresString."'";
$query = " SELECT * FROM property_features_tbl WHERE property_features_tbl.feature_id in (".$featuresString.")";

$features 是一个包含用户选择的功能的数组。

我想显示具有用户选择的所有功能的属性。帮助我编写查询。

最佳答案

假设您只需要属性 ID,那么如下所示:-

<?php

$featuresString = implode("','",$features);
$featuresString = "'".$featuresString."'";
$feature_count = count($features);
$query = " SELECT property_id, COUNT(*) AS feature_count 
        FROM property_features_tbl 
        WHERE property_features_tbl.feature_id in (".$featuresString.")
        GROUP BY property_id
        HAVING feature_count = $feature_count";

?>

关于php - 使用 PHP 数组实现 AND 功能的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20496242/

相关文章:

php - 如何使用php将多个对象数组写入json文件?

python - 散列密码从不淡化

php - Codeigniter PHP MYSQL - 选择每月的日期 = pay_day

sql - Postgresql Exclusive OR (XOR) CHECK CONSTRAINT,可能吗?

sql - 查找特定周内的日期

php - 将下拉框的值发送到另一个页面

javascript - Symfony 在 Ajax 响应中获取 PHP 变量

sql - 使用 PowerShell 和 SSMS 生成数据播种脚本

PHP 用规则分割电子邮件

php - 为什么我所做的循环只产生一个值?