可以一次性將全部紀錄讀出來放在javascript中,也可以選擇了下拉框以後在讀取相關的紀錄。
我在這裡只說說第二種方法:
aaa.php:
<form name=form1>
<select name="depart" onchange="Depart.location='bbb.php?depart='+depart.value;">
<option value="" selected>所有</option>
...............
</select>
<select name="emp">
</select>
</form>
<iframe border=0 width=0 height=0 name="Depart"></iframe>

解决方案 »

  1.   

    接上:
    bbb.php:
    <?
    $empArr=array(.....);//這裡數據從數據庫中取出來
    echo " <script>
    var obj=top.form1.emp;
    obj.length=0;";
    for($n=0;$n<count($empArr);$n++){
    echo " obj.length=$n+1;
    obj[$n].value='".$empArr[$n][empno]."';
    obj[$n].text='".$empArr[$n][name]."';";
    }
    echo "</script>";
    ?>
    以上是用隱藏的iframe來獲取數據,然後將數據添加到emp下拉菜單
      

  2.   

    还有更隐蔽的办法。程序浏览新闻标题查询(新闻标题在http://home1000.net/的首页)http://home1000.net/test/runmin/test.htm?news_id=聪明
    http://home1000.net/test/runmin/test.htm?news_id=实施重大重组
    http://home1000.net/test/runmin/test.htm?news_id=通知test.htm<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT="">
    </HEAD>
    <script id=getBeanStruct></script>
    <script>
    function load()
    {
    document.body.innerHTML = "<font color=red>Loading</font>"
    var g = new Array();
    var serverScriptType = ".php?";
    g = location.href.split("?");
    y = location.pathname.split(".");
    getBeanStruct.src = y[0]+serverScriptType+g[1];
    }
    </script>
    <BODY onclick=load()>
    <font color=red>please click on the document to load content!</font>
    </BODY>
    <script></script>
    </HTML>test.php<?
    include "db_acce.php";$content = select_column("title","ht_01news","where title like '%$news_id%'");    //数据库查询,函数在db_acce.php里,不贴了
    ?>
    document.body.innerText = "<?echo $content[0]?>"
      

  3.   

    还有更隐蔽的客户端事件提交程序示例http://home1000.net/test/runmin/test.htm?news_id=应用
    http://home1000.net/test/runmin/test.htm?news_id=聪明
    http://home1000.net/test/runmin/test.htm?news_id=通知所查询的新闻标题在home1000.net的首页上,随便复制一个标题,就可以查到
    test.htm<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT="">
    </HEAD>
    <script id=getBeanStruct></script>
    <script>
    function load()
    {
    document.body.innerHTML = "<font color=red>Loading</font>"
    var g = new Array();
    var serverScriptType = ".php?";
    g = location.href.split("?");
    y = location.pathname.split(".");
    getBeanStruct.src = y[0]+serverScriptType+g[1];
    }
    </script>
    <BODY onclick=load()>
    <font color=red>please click on the document to load content!</font>
    </BODY>
    <script></script>
    </HTML>
    test.php<?
    include "db_acce.php";$content = select_column("title","ht_01news","where title like '%$news_id%'");   //数据库查询,程序在db_acce.php,不贴了
    ?>
    document.body.innerText = "<?echo $content[0]?>"
      

  4.   

    利用HTML<script>标签的src属性,通过事件触发,修改属性,再通过src指定的服务器脚本程序,查询数据库,将查询结果动态的生成javascript代码,由生成的javascript代码操纵HTML,显示相应内容详细见:http://www.csdn.net/Expert/TopicView1.asp?id=752161
      

  5.   

    下面是一次性將數據全部提取到javascript的示例:
    <form name="form1" method="post">
      <table width="400" cellspacing="0" cellpadding="0">
         <tr> 
          <td width="25%"> 
            <div align="right">負責人</div>
          </td>
          <td width="75%">   
            <select name="depart" onchange="sel(form1.depart,IdArr,TextArr)">
            </select>
            <select name="userid" >
            </select>
          </td>
        </tr>
        <tr> 
          <td colspan="2" height="44"> 
            <div align="center"> 
              <input type="submit" name="submit" value="保存">
              </div>
          </td>
        </tr>
      </table>
    </form>
      

  6.   

    接:
    <?
    $R=mysql_query("select departid,departname from depart order by id");
    $Num=mysql_num_rows($R);
    echo "<script language=javascript>\n";
    echo "form1.depart.length=$Num;\n";
    echo "IdArr=new Array();\nTextArr=new Array();\n";
    $i=0;
    while($PArr=mysql_fetch_array($R)){
    echo "IdArr[$i]='$PArr[departid]';\n";
    echo "TextArr[$i]='$PArr[departname]';\n";
    echo "form1.depart.options[$i].value='$PArr[departid]';\n";
    echo "form1.depart.options[$i].text='$PArr[departname]';\n";
    echo "IdArr[$i]=new Array();\n";
    echo "TextArr[$i]=new Array();\n";
    $m=0;
    $SR=mysql_query("select userid,realname from user where department=$PArr[departid]");
      

  7.   

    接上:
    while($SArr=mysql_fetch_array($SR)){
    echo "IdArr[$i][$m]='$SArr[userid]';\n";
    echo "TextArr[$i][$m]='$SArr[realname]';\n";
    $m++;
    }
    $i++;
    }
    echo "</script>\n";
    ?>
    <script language=javascript>
    sel(form1.depart,IdArr,TextArr);
    function sel(select,IdArray,TextArray)
    {
    index=select.selectedIndex;
    form1.userid.length=IdArray[index].length;
    for (n=0;n<IdArray[index].length;n++)
    {
    var op=form1.userid.options[n];
    op.value=IdArray[index][n];
    op.text=TextArray[index][n];
    }
    }
    </script>
      

  8.   

    一次读取在小数据量的时候可以,在几千条数据的时候,IE就会非常慢,当数据在万条左右,IE,就会非法操作,甚至死机,已经有先例了。
      

  9.   

    毕竟IE不是数据库,并且IE的效率有待考虑。
      

  10.   

    http://agency.0731fdc.com/hire.php是一个租房查询的页面,我想上面的按什么方式查看正合你意吧,页面是我写的,如有不明白请和我联系!