搜索 - 处理空标准字段

时间:2012-07-17 11:24:14

标签: php mysql search

我需要针对快速多个条件搜索的一些结构建议。 要搜索的所有表列都有输入字段。

如何处理空字段(未由用户填充/仅按给定信息搜索)?

谢谢:)

2 个答案:

答案 0 :(得分:1)

最好的方法是

WHERE
(col1=@col1 or @col1 is null) and
(col2=@col2 or @col2 is null) and
(col3=@col3 or @col3 is null) and
.
.

假设如果为搜索跳过列

,则传递null

答案 1 :(得分:0)

您可以构建和附加where子句,如下所示

$query ="SELECT fields FROM tableName ";
$where ="";

 if(isset($_POST['field1']))
 {
   $field1=  mysql_real_escape_string($_POST['field1']);
   if($field1 != '')
   {
      $where . = "field1Name = $field1 AND ";
   }
 } 
   if(isset($_POST['field2']))
 {
   $field2=  mysql_real_escape_string($_POST['field2']);
   if($field2 != '')
   {
      $where . = "field2Name = $field2 AND ";
   }
 } 

 $where = rtrim($where, " AND ");
 $query . =$where;