我试着用3个选择框做一个简单的汽车搜索,问题是当3个选择值为0时要显示所有汽车:只有这部分不起作用:
if($fabricante_id==0 || $modelo_id==0 || $combustivel_id==0){
$filtros="";
}
完整代码:
$fabricante_id=isset($_GET['fabricante_id'])?(int)$_GET['fabricante_id']:"0";
$modelo_id=isset($_GET['modelo_id'])?(int)$_GET['modelo_id']:"0";
$combustivel_id=isset($_GET['combustivel_id'])?(int)$_GET['combustivel_id']:"0";
$filtros=NULL;
if($fabricante_id==0 || $modelo_id==0 || $combustivel_id==0){
$filtros="";
}
if($fabricante_id!=0 || $modelo_id!=0 || $combustivel_id!=0){
if($fabricante_id!=0){
$filtros=" where auto_fabricante='{$fabricante_id}' ";
}
if($modelo_id!=0){
if($filtros){
//$filtros= $filtros ." AND auto_modelo='{$modelo_id}' ";
$filtros.=" AND auto_modelo='{$modelo_id}' ";
}else{
$filtros="where auto_modelo='{$modelo_id}' ";
}
}
if($combustivel_id!=0){
if($filtros){
//$filtros= $filtros ." AND auto_modelo='{$modelo_id}' ";
$filtros.=" AND auto_combustivel='{$combustivel_id}' ";
}else{
$filtros=" where auto_combustivel='{$combustivel_id}' ";
}
}
$sql="SELECT *
FROM automoveis
{$filtros} ";
1条答案
按热度按时间ryhaxcpt1#
php中的and运算符是&&,而不是| |,您需要将其更改为: