我有一个超过10列的表。我可以使用sql
命令过滤数据,如:
mysql_select_db("mydb", $con);
$sql="SELECT * FROM files WHERE PUB LIKE '".$PUB."' AND
ID LIKE '".$ID."' AND PG_NO LIKE '%".$PG_NO."%' AND
SECTION LIKE '".$SECTION."' AND EDITION LIKE '%".$EDITION."%' AND
COLOR LIKE '".$COLOR."' AND REVISION LIKE '".$REVISION."'";
问题是我必须填写搜索/过滤查询的每个字段。 我有时想要使用所有字段和一些字段。
有什么方法可以只使用1或2个过滤条件进行过滤,其余过滤器留空以显示所有相应的数据?
答案 0 :(得分:0)
在调用SQL语句之前将其添加到
if(isset($PUB)){}
else{
$PUB = "%";
}
if(isset($ID)){}
else{
$ID = "%";
}
if(isset($SECTION)){}
else{
$SECTION = "%";
}
if(isset($EDITION)){}
else{
$EDITION = "%";
}
if(isset($COLOR)){}
else{
$COLOR = "%";
}
if(isset($REVISION)){}
else{
$REVISION = "%";
}
如果没有选择任何选项,我们基本上做的是给出所有标准通配符。