日期:2014-05-19  浏览次数:20693 次

Stucts下拉列表查询显示问题


下拉框是数据库Teacher表中取出来的数据,怎么判断如果我此用户已经填写到User表中,下拉框将不显示这个名字了?如:张三已经被填写了,则下拉框中则没有张三,求教,谢谢,分不多,见谅
------最佳解决方案--------------------
呵呵,恭喜恭喜,散分,散分咯!
------其他解决方案--------------------
用<s:if/>标签判断啊,如果重复则不显示
------其他解决方案--------------------
使用ajax在ready方法中,从Action中拉数据,同时将当前已经填写的值作为参数带过去就行了。
------其他解决方案--------------------
多看看书,书上写的还算清楚。
------其他解决方案--------------------
数据库中筛选也可以,Teacher-User
------其他解决方案--------------------
直接用sql语句(select嵌套)实现啊!在USER表中获取所有的用户,然后not in不就可以实现了么??
select * from teacher where teacher.userid not in (select userid from user);
------其他解决方案--------------------
查询的时候别查出来的~
------其他解决方案--------------------
下拉框的值从哪里来的,获取数据前将已填写的名称剃除掉
------其他解决方案--------------------
引用:
用<s:if/>标签判断啊,如果重复则不显示


+1
------其他解决方案--------------------
引用:
引用:用<s:if/>标签判断啊,如果重复则不显示

+1


其他的几个方法可以一试,不过这个答案明显是最不靠谱的一个
------其他解决方案--------------------
每个你都可以尝试尝试
------其他解决方案--------------------
其实思想都很清楚,只是做的时候就搞不清楚了
------其他解决方案--------------------
该回复于2012-12-04 16:35:02被管理员删除
------其他解决方案--------------------
LZ,你这个select的值不是自己写死的吧。。
既然是从后台获取的,那你用户表和 Teacher表做下关联,过滤点已经存在的信息。

直接在前台<s:if>这个不太好,这个肯定也是知道你是否是张三,还是李四了,何不直接在数据库中查询!
------其他解决方案--------------------
引用:
引用:用<s:if/>标签判断啊,如果重复则不显示

+1


为什么?
------其他解决方案--------------------
引用:
LZ,你这个select的值不是自己写死的吧。。
既然是从后台获取的,那你用户表和 Teacher表做下关联,过滤点已经存在的信息。

直接在前台<s:if>这个不太好,这个肯定也是知道你是否是张三,还是李四了,何不直接在数据库中查询!

是的,直接取出,但是如何筛选了?
------其他解决方案--------------------
LZ,你的张三这个值是从何而来??数据库中查询,还是当前登陆人等。。。

------其他解决方案--------------------
引用:
LZ,你的张三这个值是从何而来??数据库中查询,还是当前登陆人等。。。


从数据库来的哦
------其他解决方案--------------------
最简单的方法就是在数据库进行筛选

根据你的条件取出Teacher表和User表的差集就是你需要的数据
------其他解决方案--------------------
引用:
LZ,你既然是从数据库中来的,那你下拉列表select中的list叶是从数据库查询,何不吧你的 Teacher 和user表做关联,直接判断teacher表中的用户记录在user表中有,就过滤掉。

select * from teacher t left join user u on t.userid=u.userid wehre u.userid is null
……