搜索引擎使用php和mysql,六个字段合二为一查询


Search engine using php and mysql, six fields into one query?

我正在为我的网站制作搜索引擎。我有六个select字段:价格、门数、传输、燃料类型、发动机类型和二氧化碳排放量。

我想让搜索引擎的用户搜索尽可能详细。所以,如果他只选择价格和传输,那么必须搜索价格和传输等。如果他搜索价格、门数和发动机类型,那么必须搜索这 3 个参数。

所以我认为有 6^6 = 46 656 种不同的组合。对于如果和其他方式来说,这太过分了。

如果用户未选择任何内容,则select字段的返回值将为"empty"

同样重要的是要注意价格始终是设置的(最小值为 0,最大值为 100 000)。

一定有一种方法可以将所有这些内容组合到一个查询中,对吧?这将使我的生活:)轻松得多。

你能解释一下这样做的方法(如果真的有的话)吗?

6^6 = 46 656 我不认为,你会做那么多,否则

假设您从 POST 获取搜索参数

$sql = "select * from table_name where 1=1";
if(isset($_POST['price']))
  $sql .= " AND price='".$_POST['price']."'";
if(isset($_POST['numdoors']))
  $sql .= " AND numdoors = '".$_POST['numdoors']."'";
//and so on......

所以你有 6 if