我用gridview导出了几个sql数据库里的表后,想实现多条件查询,由于里面的字段太多,同时由于不同人有不同的要求,例如一个人要查询年龄和性别这两个,另一个人要查询民族、班级等等几个条件。那么我该如何实现。。。。。。。。
二个下拉框(一个装字段,一个装判断(大于,小于,等于)),一个文本框(当前条件的值)。
然后再后面有个按钮,添加条件,此时,将上面的上个标签,复制一份,表示第二个条件,同时增加一个选择框(条件是or 还是and)。点击确定时,构造条件,然后查询。
按你说的,那么是不是得为每个字段都添加一个判断的语句。点击添加语句后就在select后添加了一个判断条件。那么该怎么写。。。。
@回望未来: 这个客户来设置了,添加一个字段的条件,就多一个and 或者 or。默认只有一个条件,只有点“增加条件”之后,才会有第二个条件。
最简单的方法就是在后台拼接查询条件呀……
你看能不能直接把所有的查询都写好;
弄成隐藏的,用多选框放所有条件;
用户选择哪个就显示那个;
默认的不写的条件全部查%;
假设你的条件表单如下结构:
<table id='sqlTable'>
<tr>
<td>
<input type="input" class='col1_col' text='字段' value='col1'/>
<input type="input" class='eq_opt' text='条件' value='='/>
<input type="input" class='xx_val' text='条件值' value='1'/>
</td>
<td>
<input type="input" class='xxx_con' text='or,and' value='or'/>
<input type="input" class='col2_col' text='字段' value='col2'/>
<input type="input" class='eq2_opt' text='条件' value='<'/>
<input type="input" class='xx2_val' text='条件值' value='2'/>
</td>
</tr>
<tr>
<td>
<input type='button' value='确定'/>
</td>
</tr>
</table>
这里的脚本只是个思路,纯手工盲打没有测试,难免有错,见谅,参考思路即可。
$(document).ready(function(){
var sqlString = "";
$("#button").click(function(){
$("table#sqlTable tr td").each(function(){
var col = $(this).children("[class$='col']").val();
var op = $(this).children("[class$='opt']").val();
var val = $(this).children("[class$='val']").val();
var orAnd = "";
if($(this).children("[class$='con']").length >0)
orAnd = $(this).children("[class$='con']").val();
sqlString =sqlString + col + op +val;
});
});
});