我正在为我的网站制作搜索引擎。我有六个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
秒