PHP MySQL 搜索(多输入)

问题描述 投票:0回答:1

希望你能帮帮我!我正在为我的项目编写搜索功能。假设这是一个汽车搜索功能。所以这就是数据库结构。

id 品牌 价格
1 大众 10000
2 丰田 20000
3 宝马 30000
4 奔驰 40000

我的表单中有两个输入,如果我只搜索表格的一个输入/列,例如仅搜索品牌或仅搜索价格,它就可以正常工作。但是如果我把数据放到两个输入中然后搜索,我仍然得到数据输出,但是两个输入分别搜索然后一起输出。

但是,我不想搜索匹配我输入的汽车的品牌,然后搜索所有汽车的匹配价格,而是我希望它给我在给定价格内的某个品牌的所有汽车。我就是做不到。我想让他们加入,但我只有一张桌子,没有两张。

$sql = "SELECT * FROM cars WHERE brand LIKE '%$brandSearch%' AND price LIKE '%$priceSearch%'";
$result = mysqli_query($DBConnection, $sql);
$queryResult = mysqli_num_rows($result);

if ($queryResult > 0) {
   while ($row = mysqli_fetch_assoc($result)) {
      echo "<p><strong>Brand:</strong> " . $row['brand'] . "<br><strong>Price:</strong> " . $row['price'] . "</p>";
   }
} else {
  echo "There are no results matching your search.";
}

你有什么线索可以告诉我吗?我正在观看 YT 视频并使用谷歌搜索了整整一个小时,仍然没有得到任何答案:/感谢您的帮助。

问候,祝你有个愉快的星期天。

  • 二手谷歌

  • 使用过的堆栈溢出

  • 用过的 YouTube

php mysql forms search
1个回答
0
投票

假设您的 priceSearch 变量包含某人想要为汽车支付的最高价格,您不能将 SQL 查询更改为以下内容吗?

$sql = "SELECT * FROM cars WHERE brand = '$brandSearch' AND price <= $priceSearch";
© www.soinside.com 2019 - 2024. All rights reserved.