我应该如何设计php文件对于每个选择/选择更改过滤器形式,它应该与数据库,过滤行和显示对话。我试过这样的事情
<?php
if(!empty($_POST['a']) && empty($_POST['b'])){
$sql = ...;
}
if(!empty($_POST['a']) && !empty($_POST['b'])){
switch($_POST['b']){
//Different sql for different cases.
}
?>
如果我这样做,我想我会想念很多条件。有没有更好的方法来构建不同表单选择的SQL查询?
答案 0 :(得分:1)
我会尝试这样的事情:
$sql = "
SELECT
*
FROM yourTable WHERE 1
".(empty($_POST['a']) ? "" : "AND city = '".$_POST['a']."'")."
".(empty($_POST['b']) ? "" : "AND fieldb = '".$_POST['b']."'")."
".(empty($_POST['c']) ? "" : "AND fieldc = '".$_POST['c']."'")."
";
等等。像这样你不必分离案例并为每个案例重写你的第一部分。