我有一个搜索框,用户可以选择$location$type和$rating。
$result = mysql_query("SELECT * FROM Places WHERE Location = '$location' and Type ='$type' and Rating = '$rating'")
or die(mysql_error());
如果用户从所有3个下拉框中选择和选项,这就可以正常工作—但是,如果用户仅选择一个位置(例如),如何使msql查询检查数据库。
我有一个“任何”选项对所有3个下拉框,以防他们希望留下一个下拉框空白。
谢谢
最佳答案
$searches = array();
if($location != 'any') $searches[] = "`Location` = '$location'";
if($type != 'any') $searches[] = "`Type` = '$type'";
if($rating != 'any') $searches[] = "`Rating` = '$rating'";
if(count($searches) > 0) {
$result = mysql_query("SELECT * FROM Places WHERE " . implode(" AND ", $searches)) or die(mysql_error());
}
不过,在运行sql之前,需要确保设置了搜索条件。