首先,我是PHP开发人员的新手。
我正在开发一个网站,该网站有一个包含员工记录的数据库。每个人都被分配了ID、姓名、mobNo、地址等
网站上有一个过滤器面板,有很多过滤器可以使用,比如名称过滤器、mobNo过滤器。。。
我想要的是,如果选择了1个过滤器,PHP将只处理1个MySQLi查询,类似于:
WHERE '$param' LIKE '%$paramValue%'
如果用户选择了两个过滤器,比如Name和mobNo,PHP应该处理两个查询,比如:
WHERE '$param' LIKE '%$paramValue%'AND '$param2' LIKE '%$paramValue2%';
链条应该跟在后面。。我会使用AJAX,但你不必担心。我会自己集成它。
您应该使用像isset((这样的函数或任何其他方式来检查用户选择了什么,然后显示适当的查询。
即
$query = "SELECT blabla WHERE ";
$int = 0; //checks if query needs an 'AND'
if (isset(filter1)) {
$query += "$param1 LIKE $paramValue1";
$int = 1;
}
if (isset(filter2)) {
if ($int = 1)
$query += " AND ";
$query += "$param2 LIKE $paramValue2";
$int = 1;
}
等等。不太确定这是你需要的,但希望是这样的。要有创意:(
$sql = "WHERE '$param' LIKE '%$paramValue%'";
if($param2 != '')$sql .= "AND '$param2' LIKE '%$paramValue2%'";
if($param3 != '')$sql .= "AND '$param3' LIKE '%$paramValue3%'";
...
如果你希望参数是模块化的,你需要根据它们是否被设置来将它们分段添加。