高分请教一个ASP三级分类显示的问题!

acrmbs 2012-11-18 01:22:01
  项目总共有三级分类(区县/乡镇/街道)现在问题是:如果我添加信息的时候,如果选中了第三级"街道",那么其它已添加的信息里没有第三级的也会显示出了第三级街道.同时没有第二级"乡镇"信息的也会显示成我所选中的第二级和第三级分类,这样就成了多个"区县"同一个街道或多个"区县"同一个"乡镇""街道的问题"但是修改和查询时每个数据的分类都是正确的.
如下图:请大家帮忙补一下代码谢谢!


以下是代码:
<%
dim strFileName
const MaxPerPage=20
dim totalPut,CurrentPage,TotalPages
dim i,j
dim ArticleID
dim Title
dim sql,rs
dim BigClassName,SmallClassName
diqu2=trim(request("diqu2"))
jiedao=trim(request("jiedao"))

SmallClassName=trim(request("SmallClassName"))
BigClassName=trim(request("BigClassName"))
if request("page")<>"" then
currentPage=cint(request("page"))
else
currentPage=1
end if
strfilename="laodong_Manage.asp?BigClassName="&BigClassName

if session("fz_qx")="0" then
if SmallClassName="" then
sql="select * from news where ID>0"
else
sql="select * from news where ID>0 and smallclassname='"&smallclassname&"'"
end if
end if
if session("fz_qx")="1" then
if SmallClassName="" then
sql="select * from news where ID>0"
else
sql="select * from news where ID>0 and diqu2='"&smallclassname&"'"
end if
sql=sql & " and SmallClassName='" &session("purview")& "' "
end if
if session("fz_qx")="2" then
if jiedao="" then
sql="select * from news where ID>0"
else
sql="select * from news where ID>0 and jiedao='"&jiedao&"'"
end if
sql=sql & " and diqu2='" &session("diqu2")& "' "
end if

if session("fz_qx")="3" then
if jiedao="" then
sql="select * from news where ID>0"
else
sql="select * from news where ID>0 and jiedao='"&jiedao&"'"
end if
sql=sql & " and jiedao='" &session("jiedao")& "' "
end if


sql=sql & "and BigClassName='" & BigClassName & "' "
sql=sql & " order by id desc"
Set rs= Server.CreateObject("ADODB.Recordset")
rs.open sql,conn,1,1
%>




<form name="del" method="Post" action="laodong_Del.asp" onSubmit="return ConfirmDel();">
<table width="800" border="0" cellpadding="0" cellspacing="1" bgcolor="#000000">
<tr bgcolor="#A4B6D7">
<td height="25" bgcolor="#FFFFFF">
<%
if request.querystring="" then
response.write "所有信息"
else
if request("Query")<>"" then
if Title<>"" then
response.write "名称中含有“<font color=blue>" & Title & "</font>”的信息"
else
response.Write("所有信息")
end if
else
if BigClassName<>"" then
response.write "<a href='laodong_Manage.asp?BigClassName=" & BigClassName & "'>" & BigClassName & "</a> "
if SmallClassName<>"" then
response.write "<a href='laodong_Manage.asp?BigClassName=" & BigClassName & "&SmallClassName=" & SmallClassName & "'>" & SmallClassName & "</a>"
else
response.write " "
end if
end if
end if
end if
%> </td>
<td width="150" bgcolor="#FFFFFF"> 
<%
if rs.eof and rs.bof then
response.write "共找有 0 条信息</td></tr></table>"
else
totalPut=rs.recordcount
if currentpage<1 then
currentpage=1
end if
if (currentpage-1)*MaxPerPage>totalput then
if (totalPut mod MaxPerPage)=0 then
currentpage= totalPut \ MaxPerPage
else
currentpage= totalPut \ MaxPerPage + 1
end if

end if
response.Write "共找到 " & totalPut & " 条信息"
%> </td>
</tr>
</table>
<%
if currentPage=1 then
showContent
showpage strFileName,totalput,MaxPerPage,true,false,"条信息"
else
if (currentPage-1)*MaxPerPage<totalPut then
rs.move (currentPage-1)*MaxPerPage
dim bookmark
bookmark=rs.bookmark
showContent
showpage strFileName,totalput,MaxPerPage,true,false,"条信息"
else
currentPage=1
showContent
showpage strFileName,totalput,MaxPerPage,true,false,"条信息"
end if
end if
end if
%>
<%
sub showContent
dim i
i=0
%>
<table width="800" border="0" cellpadding="0" cellspacing="1" bgcolor="#000000" class="border" style="word-break:break-all">
<tr bgcolor="#A4B6D7" class="title">
<td width="48" height="25" align="center" bgcolor="#ECF5FF">选中</td>
<td width="60" height="25" align="center" bgcolor="#ECF5FF">职工姓名</td>

<td width="146" align="center" bgcolor="#ECF5FF" ><font color="#FF0000">所属乡镇/街道</font></td>
<td width="74" align="center" bgcolor="#ECF5FF" >操作</td>
</tr>
<%do while not rs.eof%>
<tr class="tdbg">
<td width="48" height="22" align="center" bgcolor="#FFFFFF">
<input name='ID' type='checkbox' onClick="unselectall()" id="ID" value='<%=cstr(rs("ID"))%>'>
</td>
<td width="60" align="center" bgcolor="#FFFFFF"><a href="laodong_modi.asp?ID=<%=rs("id")%>"><%=rs("title")%></a></td>

<td align="center" bgcolor="#FFFFFF">
<%

fzsql="select pf_name from pf_products_category where id="&rs("SmallClassName")
set fzrs=server.createobject("adodb.recordset")
fzrs.open fzsql,conn,1,1
if not fzrs.eof then
xian=fzrs("pf_name")
end if
fzrs.close
set fzrs=nothing
fzsql="select pf_name from pf_products_category where id="&rs("diqu2")
set fzrs=server.createobject("adodb.recordset")
fzrs.open fzsql,conn,1,1
if not fzrs.eof then
xiang=fzrs("pf_name")
end if
fzrs.close
set fzrs=nothing
fzsql="select pf_name from pf_products_category where id="&rs("jiedao")
set fzrs=server.createobject("adodb.recordset")
fzrs.open fzsql,conn,1,1
if not fzrs.eof then
jiedao2=fzrs("pf_name")
end if
fzrs.close
set fzrs=nothing

response.Write "<font color=""#ff0000"">"&xian&"</font>/<font color=""blue"">"&xiang&"</font>/<font color=""green"">"&jiedao2&"</font>"
%>



</td>
<td width="74" align="center" bgcolor="#FFFFFF"><a href="laodong_modi.asp?ID=<%=rs("id")%>"> 修改</a>  <a href="laodong_Del.asp?ID=<%=rs("ID")%>&Action=Del" onClick="return ConfirmDel();">删除</a> </td>
</tr>
<%
i=i+1
if i>=MaxPerPage then exit do
rs.movenext
loop
%>
</table>



<table width="800" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="250" height="30"><input name="chkAll" type="checkbox" id="chkAll" onclick=CheckAll(this.form) value="checkbox">
选中本页显示的所有信息</td>
<td><input name="submit" type='submit' value='删除选定的信息'>
<input name="Action" type="hidden" id="Action" value="Del"></td>
</tr>
</table>
<%
end sub
%>
</form>
</td>
</tr>
</table>
<%
rs.close
set rs=nothing
call CloseConn()
%>
...全文
173 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
acrmbs 2012-11-18
  • 打赏
  • 举报
回复
问题找到了加了以下代码就好了.谢谢版主 xian="" xiang="" jiedao2=""
acrmbs 2012-11-18
  • 打赏
  • 举报
回复
这是填加信息的代码:没看出问题所在请指教 <% dim rs dim sql dim count set rs=server.createobject("adodb.recordset") sql = "select * from SmallClass_New order by SmallClassID asc" rs.open sql,conn,1,1 %> <table align="center" width="800" border="0" cellpadding="0" cellspacing="0" > <tr> <td> <form method="POST" name="myform" onSubmit="return CheckForm();" action="laodong_save.asp?action=Add" target="_self"> <table width="800" border="0" cellpadding="0" cellspacing="0" height="30" align="center"> <tr> <td> 区域选择 <SELECT name="purview" onChange="changelocation(document.myform.purview.options[document.myform.purview.selectedIndex].value)"> <OPTION selected value="0">区县信息</OPTION> <% set rs=server.createobject("adodb.recordset") if session("fz_qx")="0" then sql = "select * from pf_products_category where pf_parent = 0" elseif session("fz_qx")="1" then sql="select * from pf_products_category where id="&session("purview") else 'session("fz_qx")="2" then sql="select * from pf_products_category where id="&session("purview") end if rs.Open sql, conn, 1, 3 Do While Not rs.EOF %> <option value="<%=rs("id")%>"><%=rs("pf_name")%></option> <% rs.movenext loop rs.Close Set rs = Nothing %> </SELECT> <select name="diqu2" id="diqu2" onChange="changelocation2(document.myform.diqu2.options[document.myform.diqu2.selectedIndex].value)"> <OPTION selected value="0">乡镇街道信息 </OPTION> </select> <select name="jiedao" id="jiedao" > <OPTION selected value="0">企业社区信息 </OPTION> </select> <font color="#FF0000">*请选择所在区域(必填)</font></td> </tr> </table> <table width="800" border="1" cellpadding="0" cellspacing="0" align="center" height="400"> <tr> <td width="88" align="center" class="t1">来访日期 </td> <td width="171" class="t1"><input name="AddDate" type="text" id="AddDate" value="<%=date()%>" maxlength="50"></td> <td width="66" class="t1">职工姓名</td> </tr> </table> <table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#000000" class="border" style="word-break:break-all"> <tr> <td align="center" valign="top" bgcolor="#FFFFFF"> <table width="800" border="0" cellpadding="2" cellspacing="1" class="table_southidc"> <tr bgcolor="#ECF5FF"> <td height="25" bgcolor="#FFFFFF"><font color="#FF0000">*</font>发布人:</td> <td bgcolor="#FFFFFF"> <input name="user" type="text" class="input" value="<%=session("AdminName")%>" size="30"></td> </tr> <td height="30" colspan="2" align="center" bgcolor="#FFFFFF"> <input type="submit" name="Submit" value="提交" class="input">   <input type="reset" name="Submit" value="重置" class="input"> </td> </tr> </table></td> </tr> </table> </form> </td> </tr> </table> <SCRIPT language = "JavaScript"> var subcat = new Array(); <% if session("fz_qx")="2" or session("fz_qx")="3" then sql3="select * from pf_products_category where id="&session("diqu2") Set rs3 =server.createobject("adodb.recordset") rs3.Open sql3, conn, 1, 3 %> subcat[1] = new Array('<%=rs3("pf_name")%>','<%=rs3("id")%>','<%=rs3("pf_parent")%>') <% rs3.close set rs3=nothing else count2 = 1 set rs=server.createobject("adodb.recordset") if session("fz_qx")="0" then sql = "select * from pf_products_category where pf_parent = 0" elseif session("fz_qx")="1" then sql="select * from pf_products_category where id="&session("purview") end if rs.open sql,conn,1,1 do while not rs.eof Set rs2 =server.createobject("adodb.recordset") sql2 = "select * from pf_products_category where pf_parent = "&rs("id")&" order by id asc" rs2.Open sql2, conn, 1, 3 Do While Not rs2.EOF %> subcat[<%=count2%>] = new Array('<%=rs2("pf_name")%>','<%=rs2("id")%>','<%=rs2("pf_parent")%>') <% count2 = count2 + 1 rs2.movenext loop rs2.close rs.movenext loop rs.close %> <%end if%> function changelocation(locationid) { document.myform.diqu2.length = 0; document.myform.diqu2.options[0] = new Option("乡镇街道信息","0"); var locationid=locationid; var i; for (i=1;i<subcat.length; i++) { if (subcat[i][2] == locationid) { document.myform.diqu2.options[document.myform.diqu2.length] = new Option(subcat[i][0], subcat[i][1]); } } changelocation2(document.myform.diqu2.options[document.myform.diqu2.selectedIndex].value) ; } </SCRIPT> <SCRIPT language = "JavaScript"> var subcat2 = new Array(); <% if session("fz_qx")="3" then sql3="select * from pf_products_category where id="&session("jiedao") Set rs3 =server.createobject("adodb.recordset") rs3.Open sql3, conn, 1, 3 %> subcat2[1] = new Array('<%=rs3("pf_name")%>','<%=rs3("id")%>','<%=rs3("pf_parent")%>') <% rs3.close set rs3=nothing else count3 = 1 set rs=server.createobject("adodb.recordset") if session("fz_qx")="0" then sql = "select * from pf_products_category where pf_parent = 0" elseif session("fz_qx")="1" then sql="select * from pf_products_category where id="&session("purview") end if rs.open sql,conn,1,1 do while not rs.eof Set rs2 =server.createobject("adodb.recordset") sql2 = "select * from pf_products_category where pf_parent = "&rs("id")&" order by id asc" rs2.Open sql2, conn, 1, 3 Do While Not rs2.EOF Set rs3 =server.createobject("adodb.recordset") sql3 = "select * from pf_products_category where pf_parent = "&rs2("id")&" order by id asc" rs3.Open sql3, conn, 1, 3 Do While Not rs3.EOF %> subcat2[<%=count3%>] = new Array('<%=rs3("pf_name")%>','<%=rs3("id")%>','<%=rs3("pf_parent")%>') <% count3 = count3 + 1 rs3.movenext loop rs3.close rs2.movenext loop rs2.close rs.movenext loop rs.close end if %> function changelocation2(locationid) { document.myform.jiedao.length = 0; document.myform.jiedao.options[document.myform.jiedao.length] = new Option("企业社区信息","0"); var locationid=locationid; var i; for (i=1;i<subcat2.length; i++) { if (subcat2[i][2] == locationid) { document.myform.jiedao.options[document.myform.jiedao.length] = new Option(subcat2[i][0], subcat2[i][1]); } } } </SCRIPT>
  • 打赏
  • 举报
回复
你添加信息的代码要修改,不是修改显示的。。 添加的时候选择乡镇街道时没有下一级节点的select要清空,不保存这些没有下一级街道的信息 例如你选择镇的时候,清空镇街道select的option,然后再根据是否有下一级节点信息添加option,同理选择镇的时候清空街道的option

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧