首先,我是一名新手PHP开发人员。
我正在开发一个网站,其中包含一个包含员工记录的数据库。每个都分配了ID,名称,mobNo,地址等。
网站上有一个过滤器面板,有许多过滤器可供使用,如名称过滤器,mobNo过滤器......
我真正想要的是,如果选择1个过滤器,PHP将只处理1个MySQLi查询:
WHERE '$param' LIKE '%$paramValue%'
如果用户选择2个过滤器,比如Name和mobNo,PHP应该处理2个类似的查询:
WHERE '$param' LIKE '%$paramValue%'AND '$param2' LIKE '%$paramValue2%';
链条应该继续...... 我将使用AJAX,但你不必担心它......我会自己整合它。
答案 0 :(得分:1)
您应该使用像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;
}
等等。 不太确定你需要什么,但希望它是这样的。要有创意:))
答案 1 :(得分:0)
$sql = "WHERE '$param' LIKE '%$paramValue%'";
if($param2 != '')$sql .= "AND '$param2' LIKE '%$paramValue2%'";
if($param3 != '')$sql .= "AND '$param3' LIKE '%$paramValue3%'";
...
如果您希望参数是模块化的,您需要将它们分块添加,具体取决于它们是否设置。