0

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

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

所以我认为有 6^6 = 46 656 种不同的组合。这对于 if'ing 和 else'ing 来说太过分了..

如果用户没有选择任何内容,则该select字段的返回值为"empty".

另外需要注意的是,价格始终是固定的(最小值为 0,最大值为 100 000)。

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

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

4

1 回答 1

2

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......

所以你有 6if

于 2012-05-06T14:48:50.537 回答