怎么从数据库中读取数据实现下拉菜单

怎么从数据库中读取数据实现下拉菜单,第1张

List lst=数据库中返回的数据 requestsetAttibute("lst",lst); <select> <logic:iterate id="e" name="lst"> <option value="{e}">e</option> </logic:iterate> </select>

我的采用的是javabena+jsp

一个javabean

public ArrayList selectCourseInfo()throws Exception {//下拉框显示课程信息

ArrayList list = new ArrayList();

try {

dbopen();

ResultSet rs = dbselect("select from CourseInfo");

while (rsnext()) {

listadd(new CourseInfo(rsgetInt(1), rsgetString(2),rsgetString(3)));

}

} catch (Exception e) {

eprintStackTrace();

} finally {

dbclose();

}

return list;

}

然后在jsp中调用

<tr><td>课 程:<select name="course">

<%try{

ArrayList list=mselectCourseInfo();

if(listisEmpty()){

outprintln("没有数据显示");

}

for(int i=0;i<listsize();i++){

CourseInfo c=(CourseInfo)listget(i);%>

<option><%=cgetName()%></option>

<%}}

catch(Exception e){}

%></select>

</td></tr>

这样就可以动态的显示了

有两种办法

A、把所有的商品分类和商品一次性查出来,载入到javastript数据,采用onchange实时更新。

B、把商品分类查出来,onchange时采用ajax方法后台入到页面。

既然一条语句你这样写,下面的变通下不就可以了。

[userinfo]员工信息表

ID-员工ID

NAME-员工名

dept-所在部门(部门名称)

<Script language="JavaScript">

<!--

var subcat = new Array();

<%

'初始化一个计数器,用于初始化JS中的数组顺序

i=0 '从0开始

'读取用户数据

Set rs=ServerCreateObject("ADODBRecordSet")

rsopen "Select From [userinfo] order by id asc",conn,1,1

do while Not rsEof

%>

//该部分动态生用户列表数据数组(JS使用)

//<%rs("id")%>字段防止重名人员使用ID识别

//此两个列表放在表单名为form中,如其他名称FORM1,请更改代码中的FORM为其他名称即可

subcat[<%=i%>] = new Array('<%=rs("dept")%>','<%=rs("id")%>','<%=rs("name")%>')

<%

'计数(循环生成可让JS使用的数组)

i=i+1

rsMoveNext

loop

rsclose

set rs=nothing

%>

function changeselect1(locationid)

{

documentformuserlength = 0;

documentformuseroptions[0] = new Option('员工列表,'');

for (i=0; i<subcatlength; i++)

{

if (subcat[i][0] == locationid)

{documentformuseroptions[documentformuserlength] = new Option(subcat[i][1], subcat[i][2]);}

}

}

//-->

</script>

<select name="s1" onChange="changeselect1(thisvalue)">

<option value="" selected>部门列表</option>

<%

'读部门数据,生成1级选择菜单[部门选择]

Set rs=ServerCreateObject("ADODBRecordSet")

rsopen "Select distinct(dept) From [userinfo] order by id asc",conn,1,1

do while Not rsEof

'使用chr(13)和""是为生成符合HTML书写标准数据,无他意义

ResponseWrite "<option value="""&rs("dept")&""">"&rs("dept")&"</option>"&chr(13)

rsMoveNext

loop

rsclose

set rs=nothing

%>

</select>

<!--默认放一个员工列表(没有选择部门时显示)-->

<select name="user" size=1>

<option value="">员工列表</option>

</select>

你的意思是先查询出来所有数据后,再显示到下拉菜单中去对吗?

如果是的话,按下面的思路做,相信你能做出来:

首先你访问这个界面前,要先去查询数据库中的数据,一般这些数据都装到一个list(集合,不一定用List)中去,然后再转到(如果是web项目,就是跳转了,这时把这个list装到request中,requestsetAt(“list”,lits);如果用的是桌面应用程序,就把这个list以参数的形式传到界面类上去)你的界面上,在界面上做一个下拦菜单,然后呢,就是一个循环输出list中包含的所有数据库中的数据,把每次循环取出来的信息放入下拉菜单的选项中去,这样,有多少数据,这个下拉菜单就有多少选项了,不知道是不是你想要的结果,如果不是,你可以再说详细点,方便大家为你解答,。

以上就是关于怎么从数据库中读取数据实现下拉菜单全部的内容,包括:怎么从数据库中读取数据实现下拉菜单、java中下拉菜单连接数据库、如何用下拉菜单查询数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10186621.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存