注册 登录
编程论坛 ASP技术论坛

纯ASP四级联动结合ACCESS数据库

smh4037 发布于 2008-06-21 22:23, 1329 次点击
纯ASP四级联动....有没有更好的办法

这个还有一点缺陷,,,,,,,

|中国区域|省|市|县|

<!--#include file="../conn/conn.asp"-->
<%

Function SercahDei(Deiid,shengid,shiid,xiangid)
 If Deiid = "" Then
    Deiid = 1
 Else
    Deiid  = Int(Deiid)
 End If
 Str    = "<form action='' method='post' name='form1'>"
 Set rs = Server.CreateObject("ADODB.RecordSet")
 Sql    = "Select * From MT_sshqdei"
 rs.Open Sql,conn,1,1
 Str = Str &"<select name='deiid' onchange=document.form1.submit();>"
 Do While Not rs.Eof
 If Deiid = rs("id") then
 Str = Str &"<option value="&rs("id")&" selected>"&rs("deiname")&"</option>"
 else
 Str = Str &"<option value="&rs("id")&">"&rs("deiname")&"</option>"
 end if
 rs.MoveNext    
 Loop
 Str = Str &"</select>"
      If shengid = "" Then
         shengid = 1
      Else
         shengid = Int(shengid)
      End If
        Set rs1  = Server.CreateObject("ADODB.RecordSet")
        Sql      = "Select * From MT_province Where deiid="&Deiid
        rs1.Open Sql,conn,1,1
        If rs1.Eof And rs1.Bof Then
        Str = Str &""
        Else
        Str = Str &"<select name='shengid' onchange=document.form1.submit();>"
        Do While Not rs1.Eof
        if shengid = rs1("id") then
        Str = Str &"<option value="&rs1("id")&" selected>"&rs1("shengname")&"</option>"
        else
        Str = Str &"<option value="&rs1("id")&">"&rs1("shengname")&"</option>"
        end if
        rs1.MoveNext
        Loop
        Str = Str &"</select>"
        End If
        rs1.Close
        Set rs1 = Nothing
        
        
        
        
              If shiid = "" Then
                 shiid = 1
              Else
                 shiid  = Int(shiid)
              End If
        Set rs1 = Server.CreateObject("ADODB.RecordSet")
        Sql    = "Select * From MT_city Where shengid="&shengid&" and deiid="&Deiid
        rs1.Open Sql,conn,1,1
        If rs1.Eof And rs1.Bof Then
        Str = Str &""
        Else
        Str = Str &"<select name='shiid' onchange=document.form1.submit();>"
        Do While Not rs1.Eof
        if shiid = rs1("id") then
        Str = Str &"<option value="&rs1("id")&" selected>"&rs1("shiname")&"</option>"
        else
        Str = Str &"<option value="&rs1("id")&">"&rs1("shiname")&"</option>"
        end if
        rs1.MoveNext
        Loop
        Str = Str &"</select>"
        End If
        rs1.Close
        Set rs1 = Nothing
        
        
        
        
        
              If xiangid = "" Then
                 xiangid = 1
              Else
                 xiangid  = Int(xiangid)
              End If
        Set rs1 = Server.CreateObject("ADODB.RecordSet")
        Sql    = "Select * From MT_xiang Where shiid="&shiid&" and deiid="&Deiid
        rs1.Open Sql,conn,1,1
        If rs1.Eof And rs1.Bof Then
        Str = Str &""
        Else
        Str = Str &"<select name='xiangid' onchange=document.form1.submit();>"
        Do While Not rs1.Eof
        if xiangid = rs1("id") then
        Str = Str &"<option value="&rs1("id")&" selected>"&rs1("xiangname")&"</option>"
        else
        Str = Str &"<option value="&rs1("id")&">"&rs1("xiangname")&"</option>"
        end if
        rs1.MoveNext
        Loop
        Str = Str &"</select>"
        End If
        rs1.Close
        Set rs1 = Nothing

      
 rs.Close
 Set rs = Nothing
 Str    = Str &"</form>"
 SercahDei = Str
 End Function

deiid    = Trim(Request.Form("deiid"))
shengid  = Trim(Request.Form("shengid"))
shiid    = Trim(Request.Form("shiid"))
xiangid  = Trim(Request.Form("xiangid"))

Response.Write SercahDei(Deiid,shengid,shiid,xiangid)
Response.Write Deiid&","&shengid&","&shiid&","&xiangid
%>
3 回复
#2
天涯听雨2008-06-22 22:59
我晕死,分几个表的。。。。。。

一般向前台这样地市几级连动的,都是生成JS代码的。
#3
anlige2008-06-24 06:32
ajax,一个表,利用产业部全国县市数据实现3级联动
http://blog.文件列表里有具体代码
#4
smh40372008-06-24 20:50
不懂JS,所以才做得这么麻烦
1