标题:如何根据库中一个表的字段id号显示另一个表的相关字段?
只看楼主
hpgdzx
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-10-20
结帖率:100%
已结贴  问题点数:20 回复次数:4 
如何根据库中一个表的字段id号显示另一个表的相关字段?
我的问题是:在下面一段网页代码中如何根据不同news信息的newsid值在前台正确地显示出type表及border表中的typename和bordername值,即<%=sql1%>、<%=sql1%>的文字信息?(数据库为access,其中有三个表type、border、news,各表的字段有type:typeid、typename;border:borderid、typeid、bordername;news:newsid、typeid、borderid……他们相互关联),请各位高手指教!如何根据各条信息的newsid号在数据库中的type表和border表中提取出对应的typename和bordername并在前台显示(如代码中的<%=sql1%>、<%=sql2%>)?代码如下:


<%
dim sql,rs,rsc,thedate,borderid,typeid,sql2,sql1
set rs=server.createobject("adodb.recordset")
sql="update news set hits=hits+1 where newsid=" & cstr(request("newsid"))
conn.execute sql
if session("purview")="" then
    rs.open "select * from news where newsid=" & cstr(request("newsid")) & " and audit=1",conn,1,1
else
    rs.open "select * from news where newsid=" & cstr(request("newsid")),conn,1,1
if not rs.bof and not rs.eof then
typeid=rs("typeid")
borderid=rs("borderid")
end if
rs.close
rs.open "select bordername from border where borderid=" & borderid &" and typeid=" & typeid &"",conn,1,1
if not rs.bof and not rs.eof then
    sql2=rs("bordername")
end if
rs.colse
rs.open "select typename from type where typeid=" & typeid &"",conn,1,1
if not rs.bof and not rs.eof then        
    sql1=rs("typename")
      end if
      end if
      
if err.number <> 0 then
    response.write "数据库出错"
else
    if rs.bof and rs.eof then
        rs.close
        response.write "该信息不存在或未经过审核"
    else
%>
<HTML>
<HEAD>
<TITLE><%=rs("topic")%></TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
  <table width="998" border="0" cellpadding="0" cellspacing="0" height="22">
    <!--DWLayoutTable-->
    <tr><TD width="998" height="30" valign="middle" style="FILTER: progid:DXImageTransform.Microsoft.Gradient(startColorStr='#E9E9E9', endColorStr='#FFFFFF', gradientType='1')">&nbsp;&nbsp;网络位置:<A href="index.asp" class="z1">首页</A>&nbsp;&gt;&gt;&nbsp;<%=sql1%>&nbsp;&gt;&gt;&nbsp;<%=sql2%>&nbsp;&gt;&gt;&nbsp;详细内容</TD></td></tr></table>
</body>
</HTML>
搜索更多相关主题的帖子: 字段 
2010-10-20 16:13
a190066
Rank: 4
等 级:业余侠客
威 望:2
帖 子:175
专家分:204
注 册:2010-6-24
得分:14 
回复 楼主 hpgdzx
我是这样做的。实际可用。。给你参考:
<%
 if request("dj")<>"" then
sql="select * from users1 where userid="&request("dj")&" order by id asc"
else
sql="select * from users1  order by id asc"
end if
 Set rs= Server.CreateObject("ADODB.Recordset")
 rs.open sql,conn,1,1
 set rs1=server.createobject("adodb.recordset")
sql1="select * from users2 order by id asc"
rs1.open sql1,conn,1,1
略………………
 %>
        <td><%=rs("ok1")%></td>
        <td><%=rs1("ok2")%></td>

<% i=i+1
          if i>=MaxPerPage then exit do
          rs.movenext
          rs1.movenext
       loop
          %>


2010-10-21 04:00
hpgdzx
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-10-20
得分:0 
请楼上说明清楚一点,谢谢
2010-10-27 09:25
hpgdzx
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-10-20
得分:0 
我的问题是:在一个access数据库中有news表、type表、border表等,现在要根据网站信息在news表中的newsid号获得此表中对应的typeid字段及borderid字段信息,然后根据typeid字段信息在type表中获得相应的typename字段信息并在前台显示;根据borderid字段信息在border表中获得相应的bordername字段信息并在前台显示,如何编程?谢谢!
2010-10-27 09:31
hpgdzx
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2010-10-20
得分:0 
能直接指出信息所在的typename及bordername字段信息并在前台网络位置显示出来……
2010-10-27 09:33



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-323446-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.413486 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved