是的,所以我的页面上有一组下拉菜单。 根据是否选择了值,我想将其添加到PHP中的SQL查询字符串。 例:
select1: options("*" "op1", "op2) select2: options("*" "op1", "op2) select3: options("*" "op1", "op2)'*'指任何东西。 即不应该通过该查询选项过滤数据。 现在,如何快速简单地构建查询? 目前,我有这样的事情:
$query=''; $found=0; $op1=$_POST['select1']; $op2=$_POST['select2']; $op3=$_POST['select3']; if($op1!='*') { $found=1; $op1="'".$op1."'"; $query="WHERE op1=$op1 "; } if($op2!='*') {$op2="'".$op2."'"; if($found==1) { $query=$query. "AND op2=$op2 "; } else{ $found=1; $query="WHERE op2=$op2 "; } } if($op3!='*') {$op3="'".$op3."'"; if($found==1) { $query=$query. "AND op3=$op3 "; } else{ $found=1; $query="WHERE op3=$op3 "; } }现在,显然,实施起来非常烦人。 有没有更简单的方法?
谢谢。
Right, so I have a set of dropdowns on my page. Depending on whether a value is selected, I want to add it to an SQL query string in PHP. Example:
select1: options("*" "op1", "op2) select2: options("*" "op1", "op2) select3: options("*" "op1", "op2)'*' refers to anything. i.e the data should not be filtered by that query option. Now, how do I build the query for this quickly and simply? Currently, I have something like this:
$query=''; $found=0; $op1=$_POST['select1']; $op2=$_POST['select2']; $op3=$_POST['select3']; if($op1!='*') { $found=1; $op1="'".$op1."'"; $query="WHERE op1=$op1 "; } if($op2!='*') {$op2="'".$op2."'"; if($found==1) { $query=$query. "AND op2=$op2 "; } else{ $found=1; $query="WHERE op2=$op2 "; } } if($op3!='*') {$op3="'".$op3."'"; if($found==1) { $query=$query. "AND op3=$op3 "; } else{ $found=1; $query="WHERE op3=$op3 "; } }Now, obviously, this is quite annoying to implement. Is there any easier method?
Thanks.
最满意答案
我可能会使用MyQueryBuilder类以下方法。
AddSelectionColumn(String ColumnName, string Alias) AddTableSource(String TableName, String Alias) AddTableJoin(String Table1, String Alias1, String Table2, String Alias2, String Col1, String Col2, JoinType Join) AddFilterCondition(String ColumnName, String Alias, String Condition)它可以更好地控制代码......
I would have used a class MyQueryBuilder with following methods probably..
AddSelectionColumn(String ColumnName, string Alias) AddTableSource(String TableName, String Alias) AddTableJoin(String Table1, String Alias1, String Table2, String Alias2, String Col1, String Col2, JoinType Join) AddFilterCondition(String ColumnName, String Alias, String Condition)It might give a better control on the code...
更多推荐
发布评论