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

搜索引擎使用php和mysql,将六个字段合并为一个查询?,php,mysql,search-engine,Php,Mysql,Search Engine,我正在为我的网站做一个搜索引擎。我有六个select字段:价格、车门数量、变速箱、燃油类型、发动机类型和二氧化碳排放 我想让用户的搜索引擎搜索尽可能详细。因此,如果他只选择价格和变速箱,那么必须搜索价格和变速箱等。如果他搜索价格、车门数量和发动机类型,那么必须搜索这3个参数 所以我计算出有6^6=46656种不同的组合。这对if'ing和else'ing来说太过分了 如果用户未选择任何内容,则选择字段的返回值将为“空” 还需要注意的是,价格始终处于设置状态(最小值为0,最大值为100000) 必

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

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

所以我计算出有6^6=46656种不同的组合。这对if'ing和else'ing来说太过分了

如果用户未选择任何内容,则
选择
字段的返回值将为
“空”

还需要注意的是,价格始终处于设置状态(最小值为0,最大值为100000)

必须有一种方法将所有这些内容合并到一个查询中,对吗?那会让我的生活轻松很多:)


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

6^6=46656我不认为你会做那么多,如果还有别的

假设您从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
s

在SQL语句中使用值之前,请确保对值进行了清理。不,那是不对的。我想让他们同时搜索多个参数。因此,如果选择了两个参数,价格和传输,或价格,传输和二氧化碳排放。您可以看到这两个参数都将用于查询
select*from table_name,其中1=1,price=600,numdoors=5
@Pratt yes,必须执行此操作。这只是如何做的概念;)@布朗查,我明白了!我现在就去试试!