参考
$sql = "SELECT * FROM customer ";
$tmp = "";
if (!empty($condition['company']))
$tmp .= (empty($tmp)?"WHERE":"AND")." company LIKE '%".$condition['company']."%' ";
if (!empty($condition['trade']))
$tmp .= (empty($tmp)?"WHERE":"AND")." trade LIKE '%".$condition['trade']."%' ";
if (!empty($condition['level']))
$tmp .= (empty($tmp)?"WHERE":"AND")." level = '".$condition['level']."' ";
if (!empty($condition['visiter']))
$tmp .= (empty($tmp)?"WHERE":"AND")." visiter = '".$condition['visiter']."' ";
if (!empty($condition['departmentId']))
$tmp .= (empty($tmp)?"WHERE":"AND")." departmentId = '".$condition['departmentId']."' ";
if (!empty($condition['status']))
$tmp .= (empty($tmp)?"WHERE":"AND")." status = '".$condition['status']."' ";
if (!empty($condition['startTime']) && !empty($condition['startTime']))
$tmp .= (empty($tmp)?"WHERE":"AND")." TO_DAYS(visitime) BETWEEN TO_DAYS('".$condition['startTime']."') AND TO_DAYS('".$condition['endTime']."') ";
if (!empty($condition['order_by']))
$tmp .= "ORDER BY ".$condition['order_by'];
if (!empty($condition['order_by']) && !empty($condition['descent']))
$tmp .= " DESC ";
if (isset($condition['start']) && isset($condition['rows']))
$tmp .= "LIMIT ".$condition['start'].", ".$condition['rows'];
$sql .= $tmp;
$sql = "SELECT * FROM customer ";
$tmp = "";
if (!empty($condition['company']))
$tmp .= (empty($tmp)?"WHERE":"AND")." company LIKE '%".$condition['company']."%' ";
if (!empty($condition['trade']))
$tmp .= (empty($tmp)?"WHERE":"AND")." trade LIKE '%".$condition['trade']."%' ";
if (!empty($condition['level']))
$tmp .= (empty($tmp)?"WHERE":"AND")." level = '".$condition['level']."' ";
if (!empty($condition['visiter']))
$tmp .= (empty($tmp)?"WHERE":"AND")." visiter = '".$condition['visiter']."' ";
if (!empty($condition['departmentId']))
$tmp .= (empty($tmp)?"WHERE":"AND")." departmentId = '".$condition['departmentId']."' ";
if (!empty($condition['status']))
$tmp .= (empty($tmp)?"WHERE":"AND")." status = '".$condition['status']."' ";
if (!empty($condition['startTime']) && !empty($condition['startTime']))
$tmp .= (empty($tmp)?"WHERE":"AND")." TO_DAYS(visitime) BETWEEN TO_DAYS('".$condition['startTime']."') AND TO_DAYS('".$condition['endTime']."') ";
if (!empty($condition['order_by']))
$tmp .= "ORDER BY ".$condition['order_by'];
if (!empty($condition['order_by']) && !empty($condition['descent']))
$tmp .= " DESC ";
if (isset($condition['start']) && isset($condition['rows']))
$tmp .= "LIMIT ".$condition['start'].", ".$condition['rows'];
$sql .= $tmp;
$name = array("field1","field2","field3"); //构造一个数组,保存所有可能参与查询的字段名
$ar = array();
foreach($name as $na)
if(! empty($_POST[$na])) { //判断对应的输入框是否有值
$ar[] = "$na='".$_POST[$na]."'"; //如有则生成表达式
}$sqlstr = "select * from tbl_name where ". join(" or ",$ar); //装配成查询串