一组教师姓名,课程,班级的数据查询条件输入框分别为key1 key2 key3
用户自己想怎么查就怎么查按照姓名,或者课程,或者班级,或者任意组合查询信息怎么写语句???还要支持模糊查询。。。
我说的可能不清楚 是在javaservlet文件中写mysql查询语句 动态多条件的 上面3个只是例子 条件多很多种
输入框有很多 key1key2key3........
然后servlet中需要写的sql语句:string sql="SELECT * FROM teacher WHERE TeachName like '%"+key+"%'。。。。。。。"怎么写 and连接是所有条件都要有 用户可能只填任意个。。用if判断输入框值为不为空3个左右还算简单 以上就复杂了 想要一句sql语句就能代替的
这个不对啊 or的效果是或 只取后一个条件 我要的效果是 输入一个条件找符合那个的 输入多个查询同时符合的
追答那是这样的,
你事先要定义一个变量来存储要执行的东西
如
$where = '1';
if($key1) $where .= ' and name1 like "%key1%"';
if($key2) $where .= ' and name2 like "%key2%"';
然后执行语句 select * from table where $where
大致就是这个意思
不就是上一个回答么= = javaservlet中怎么定义啊 $识别不了 报错
追答这个完全是语法的问题,你改成j的语法不就行了
应该是
string key1 = request.getParameter("key1"));
string key2 = request.getParameter("key2"));
string wheres = "1";
if(key1) wheres .= ' and name1 like "%'+key1+'%"';
if(key2) wheres .= ' and name1 like "%'+key2+'%"';
然后执行语句 "select * from table where " + wheres
大致是这个,你看看有么有拼错,手打的
数据库中age定义为int 长度2位 key1 key2之间的数据String sql1 = "SELECT * FROM teacher WHERE age >='" + key1 + "' and age=='key1'不行 String key1 = req.getParameter("key1");
string和int比大小不行?
java属于强类型语法,你什么类型就得指定什么类型
我给出的string 只是例子,你要根据实际看用 int 还是string 或者其他的
包括
if(key1) wheres .= ' and name1 like "%'+key1+'%"';if(key2) wheres .= ' and name1 like "%'+key2+'%"'
也也得根据自己的情况改变的,看是like还是等于,还是其他
我是在java里写的代码 Servlet中$识别不了
追答好吧,javaservlet不了解