不刷新页面筛选数据库中的数据

原创 2004年10月21日 17:32:00
我在作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>

Ajax对表格中的信息不刷新页面进行更新数据

html: Title 1111 ...
  • Grit_ICPC
  • Grit_ICPC
  • 2016年11月05日 17:18
  • 3197

ASP中不刷新页面,动态读取数据库

1.效果图:2.源程序1.jsCallASP.asp不刷新页面,动态读取数据库 function getTables(obj){  var server=txtServer.value;  var d...
  • griefforyou
  • griefforyou
  • 2004年06月23日 15:10
  • 6644

使用AJAX方法可以不刷新页面就从服务器上获得信息(文件信息,方法,数据库中的数据)

C6.1 发送请求                                                                                           ...
  • softuse
  • softuse
  • 2016年06月14日 08:40
  • 482

数据库中多条记录有相同数据,可以用函数筛选只查询相同记录中的一条

简单的语句: select distinct 列名 from 表名 where  条件
  • wzq0926
  • wzq0926
  • 2014年05月23日 16:32
  • 411

关于ajax局部刷新,从数据库实时更新数据到页面(一般是下订单成功后发送消息到后台)

关于ajax局部刷新,从数据库实时更新数据到消息框(通知框) 后台消息提醒...
  • wserendipity
  • wserendipity
  • 2017年09月07日 18:51
  • 1003

ASP.net中在gridview中绑定dropdownlist控件

在gridview的columns集合中加上如下代码                                                                        ...
  • yax405
  • yax405
  • 2013年07月18日 15:40
  • 707

根据条件筛选导出MySQL数据表中的数据

导出一个表的部分字段到一个文件: mysql -h192.168.x.x -uroot -e "set names 'utf8';select realname,card_number,compan...
  • will5451
  • will5451
  • 2016年06月28日 10:27
  • 2075

HTML小技巧:页面刷新后表单中值不丢失[经典]

代码示例: saveHistory行为应用 用了saveHistory 行为的表单项: 一般表单项:  注意: 这行代码为必需。特别说明saveHistory 默认行为允许对象在浏览...
  • jiedushi
  • jiedushi
  • 2008年06月12日 14:21
  • 6652

用Ajax实现不刷新页面修改内容

趁今天有空,就学习了Ajax,在Ajax in action那本书里提到了SAjax,就去下来看看,果然功能强大,让编写Ajax代码变的很简单,于是就写了个“修改内容不刷新页面”的代码,这个功能在网上...
  • thx_bj
  • thx_bj
  • 2006年09月01日 10:21
  • 6895

JS的传递数据不刷新页面的应用

以下文章纯是转抄,只因其中有一些东西是要用的,又怕忘掉,所以….作者看到可不要生气哟! ————————————————————————- 结合我最近的学习经历.整理一下jsp和js的混合应用的一...
  • catontower
  • catontower
  • 2013年03月20日 18:00
  • 1568
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:不刷新页面筛选数据库中的数据
举报原因:
原因补充:

(最多只允许输入30个字)