欢迎光临
我们一直在努力

不刷新页面筛选数据库中的数据-ASP教程,数据库相关

建站超值云服务器,限时71元/月

  我在作asp程序时经常遇到这种情况:

  将数据库中的数据(如所有雇员名)列在列表框中,程序要求进行选择其中一项或多项提交到下一个页面。

  但麻烦的是如果数据(如雇员)过多,会给客户的选择带来麻烦--要从很长的列表中进行数据定位。最好的解决方法是用户在选择前采用模糊查询的方式进行数据定位,准确找出需要选择的雇员名,再选择、提交。

  问题出现在我们程序员面前:如何不刷新页面筛选从数据库中筛选数据。本人的方法有两种:

  1、采用双列表框的方法

  2、采用xml方法

  本文主要介绍第一种方法:采用双列表框的方法

  编程思想:

  采用双列表框,其中一个为隐藏状态,另一个是显示给用户看的列表框。

  程序开始将数据(如雇员姓名)分别装进两个列表框中,当用户需要筛选雇员时首先将显示列表框清空,再更据筛选条件将数据从隐藏列表框装入显示列表框中。

  这样即可实现不刷新页面筛选数据库中的内容。

  实现:

  下面以sql server为例,筛选northwind库中employees表的雇员名进行说明。

<html>

<head>

<title>不刷新页面查询的方法</title>

<meta http-equiv="content-type" content="text/html; charset=gb2312">

</head>

<script language="javascript">

function search_onclick(){

//得到筛选雇员的名字

searchtext=window.searchcontent.value;

//首先移除在所有查询结果列表中的选项

j=searchobj.length ;

for (i = j-1; i>=0; i–)

{

searchobj.remove(i);

}

if(searchtext!=""){

//显示符合筛选条件的雇员

j=searchsource.length;

for(i=0;i<j;i++){

searchsource=searchsource.options(i).text;

k=searchsource.indexof(searchtext);

if(k!=-1){

option1=document.createelement("option");

option1.text=searchsource;

option1.value=searchsource.options(i).value;

searchobj.add(option1);

}

}

}

else{

//如果没有输入查询条件则显示所有雇员

j=searchsource.length;

for(i=0;i<j;i++){

searchsource=searchsource.options(i).text;

option1=document.createelement("option");

option1.text=searchsource;

option1.value=searchsource.options(i).value;

searchobj.add(option1);

}

   }

}

</script>

<body bgcolor="#ffffff" text="#000000">

<%

servername="wyb" 服务器名

user="sa" 用户名

pw="" 用户密码

databasename="northwind" 数据库名

set conn=server.createobject("adodb.connection")

conn.open "driver=sql server;server="&servername&";uid="&user&";pwd="&pw&";database="&databasename

set rs=server.createobject("adodb.recordset")

sql="select employeeid,lastname from employees order by employeeid"

rs.open sql,conn%>

<table width="80%" border="1">

<tr>

<td>

<input type="text" name="searchcontent">

<input type="button" name="button" value="查询" onclick="javascript:return search_onclick()">

</td>

</tr>

<tr>

<td> 查询结果<br>

<select name="searchobj" size="10">

<%do while not rs.eof%>

<option value="<%=rs("employeeid")%>"><%=rs("lastname")%></option>

<%rs.movenext

loop

%>

</select>

<select name="searchsource" size="10" style="display:none">

<%

rs.movefirst

do while not rs.eof%>

<option value="<%=rs("employeeid")%>"><%=rs("lastname")%></option>

<%rs.movenext

loop

%>

</select>

</td>

</tr>

</table>

<%rs.close

set rs=nothing

%>

</body>

</html>

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 不刷新页面筛选数据库中的数据-ASP教程,数据库相关
分享到: 更多 (0)