Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
参数很少的PHP搜索_Php_Mysql_Sql_Pdo - Fatal编程技术网

参数很少的PHP搜索

参数很少的PHP搜索,php,mysql,sql,pdo,Php,Mysql,Sql,Pdo,我有一个查询,我正在尝试使用多个参数进行搜索,以对来自sql的数据响应进行排序 查询代码: $sql = "SELECT * FROM `apartments` WHERE `building_num`='{$i}' ORDER by `apartment_num` ASC"; 搜寻表格: 公寓式 双工 公寓 דירת גן 房间 4. 3. 5. 价格 700,000-800,000 ₪ 800,000-900,000 ₪ 900,000-1,000,000 ₪ 1,000,000-1

我有一个查询,我正在尝试使用多个参数进行搜索,以对来自sql的数据响应进行排序

查询代码:

$sql = "SELECT * FROM `apartments` WHERE `building_num`='{$i}' ORDER by `apartment_num` ASC";
搜寻表格:


公寓式
双工
公寓
דירת גן
房间
4.
3.
5.
价格
700,000-800,000 ₪ 
800,000-900,000 ₪
900,000-1,000,000 ₪
1,000,000-1,100,000 ₪
1,100,000-1,200,000 ₪
1,200,000-1,300,000 ₪
1,300,000-1,400,000 ₪
140万美元
搜寻

首先,您提供给客户的and(或查询)和tge选项之间没有直接联系

如果你那么你可以允许客户填写一些字段,如果你不想填写,那么就不。。。这是一个决定的问题,从中产生发展

缺少示例代码,因此我可以直接回答有关查询的问题并添加一些备注

既然您已经给出了特定的选择选项,那么您应该将其用于特定的搜索 我还将对返回的$\u POST信息进行一些验证

关于查询,我需要假设所有选项都保存在公寓表中,在该表下,查询应该如下所示:

$sql = "SELECT * FROM `apartments` WHERE
rooms = $rooms
OR `type` = $type
OR (price BETWEEN  *$range_min* AND *$range_max*) 
ORDER by `apartment_num` ASC";
如果要组合所有参数,应使用AND而不是OR
同样,您可以决定两者都要,并对用户给定的每个场景使用不同的查询。在这种情况下,您必须按如下方式构建动态查询:-

$sql = "SELECT * FROM `apartments` WHERE ";
$condition = "";
$condition .= ($rooms=='')?"":" or 'rooms'= $rooms ";
$condition .= ($type=='')?"":" or 'type'= $type ";
$condition .= ($price=='')?"":" or prince bewteen 'range_min' AND 'range_max'"; 

$sql .= $condition;
$sql .= " ORDER by `apartment_num` ASC";

通过这种方式,您可以让所有三个过滤器自由选择或不选择。

添加城市名称petah tikva,没有人想搜索…;)请提供表结构和一些示例数据,尝试搜索mysql的LIKE运算符。查询提示:…类似于“%that%”当您在新查询中遇到困难时,我很乐意为您提供帮助。星号应该代表什么?我尝试将变量设置为斜体,因为正如我在回答中所写的,在将其放入查询之前需要对其进行处理。我会移除它们