如何在页面按以下要求显示内容。

快跑蜗牛哥 2009-08-11 06:20:37

已知一表 a
did dname ……
1 开发
2 业务
3 采购
4 仓库
5 保全
表b
fid did fnane
1 2 赵S
2 3 钱S
3 2 孙S
4 3 李S
5 1 王S
6 2 何S
7 3 黄S
8 5 魏S
9 4 邓S
其中a表中的 did与b表中did的含义一样
现要求在页面上显示如下
开发 业务 采购 仓库 保全----------从表a中读取
王S 赵S 钱S 邓S 魏S
孙S 李S
何S 黄S
...全文
135 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ygyjack 的回复:]
引用 2 楼 chinmo 的回复:
还有一个简单的做法,效率应该也比上面这个好些吧

VBScript code<%'DB CONNECTION
'SELECT from the databasesSQL="SELECT a.did as did, a.dname as dname, b.fnane as fnane FROM a INNER JOIN b ON a.did = b.did ORDER BY a.did;"set oRS= oConn.Execute(sSQL)dim Check, Count
Check=""
Count=0

Response.Write("<table><tr>")DoWhileNOT oRS.EOFIF Check<> oRS("dname")THENIF Count<>0THEN
Response.Write("</td>")ENDIF
Response.Write("<td><b>"& oRS("dname")&"</b><br>")
Response.Write(oRS("fnane")&"<br>")
Count=0ELSE
Response.Write(oRS("fnane")&"<br>")ENDIF

Check= oRS("dname")
Count= Count+1
oRS.MoveNextLoop
Response.Write("</td>")
Response.Write("</tr></table>")
%>
[/Quote]
呵呵,这样看代码是好看些,不过我不喜欢这写法,所以使用了DIV的
而且为了方便维护,Html代码与服务端代码分开比较好维护些
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ygyjack 的回复:]
引用 2 楼 chinmo 的回复:
还有一个简单的做法,效率应该也比上面这个好些吧

VBScript code<%'DB CONNECTION
'SELECT from the databasesSQL="SELECT a.did as did, a.dname as dname, b.fnane as fnane FROM a INNER JOIN b ON a.did = b.did ORDER BY a.did;"set oRS= oConn.Execute(sSQL)dim Check, Count
Check=""
Count=0

Response.Write("<table><tr>")DoWhileNOT oRS.EOFIF Check<> oRS("dname")THENIF Count<>0THEN
Response.Write("</td>")ENDIF
Response.Write("<td><b>"& oRS("dname")&"</b><br>")
Response.Write(oRS("fnane")&"<br>")
Count=0ELSE
Response.Write(oRS("fnane")&"<br>")ENDIF

Check= oRS("dname")
Count= Count+1
oRS.MoveNextLoop
Response.Write("</td>")
Response.Write("</tr></table>")
%>
[/Quote]
呵呵,这样看代码是好看些,不过我不喜欢这写法,所以使用了DIV的
而且为了方便维护,Html代码与服务端代码分开比较好维护些
e_zhiwen 2009-08-11
  • 打赏
  • 举报
回复
five is good!
ygyjack 2009-08-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 chinmo 的回复:]
还有一个简单的做法,效率应该也比上面这个好些吧
[/Quote]
<%
'DB CONNECTION
'SELECT from the database
sSQL = "SELECT a.did as did, a.dname as dname, b.fnane as fnane FROM a INNER JOIN b ON a.did = b.did ORDER BY a.did;"
set oRS = oConn.Execute(sSQL)

dim Check, Count
Check = ""
Count = 0

Response.Write("<table><tr>")
Do While NOT oRS.EOF
IF Check <> oRS("dname") THEN
IF Count <> 0 THEN
Response.Write("</td>")
END IF
Response.Write("<td><b>"& oRS("dname") &"</b><br>")
Response.Write(oRS("fnane") &"<br>")
Count = 0
ELSE
Response.Write(oRS("fnane") &"<br>")
END IF

Check = oRS("dname")
Count = Count +1
oRS.MoveNext
Loop
Response.Write("</td>")
Response.Write("</tr></table>")
%>
lzp4881 2009-08-11
  • 打赏
  • 举报
回复

<!--#include file="conn.asp" -->
<%
set pa= conn.execute("SELECT did,dname FROM a ORDER BY did")
str = "<table><tr>"
Do While NOT pa.EOF
str=str&"<td valign='top'>"&pa("dname")&"<br>"
set pb= conn.execute("SELECT fname FROM b where did="&pa("did"))
do while not pb.eof
str=str&pb(0)&"<br>"
pb.movenext
loop
pb.close
str=str&"</td>"
pa.MoveNext
Loop
pa.close
Response.Write str
%>
  • 打赏
  • 举报
回复
给你看这个效果吧,测试好了,并且代码发我的个人网站上了:
http://www.myziy.com/show.php?contentid=175
  • 打赏
  • 举报
回复
还有一个简单的做法,效率应该也比上面这个好些吧
ygyjack 2009-08-11
  • 打赏
  • 举报
回复
大体的思路
<%
'DB CONNECTION
'SELECT from the database
sSQL = "SELECT did, dname FROM a ORDER BY did;"
set oRS = oConn.Execute(sSQL)

sSQL1 = "SELECT did, fnane FROM b ORDER BY did;"
set oRS1 = oConn.Execute(sSQL1)

dim Info
Info=" "

'-----------从表a中读取------------
Response.Write("<table><tr>")
Do While NOT oRS.EOF
Response.Write("<td>"& oRS("dname") &"</td>")
oRS.MoveNext
Loop
Response.Write("</tr>")


Response.Write("<tr>")
oRS.MoveFirst
Do While NOT oRS.EOF
'-----------从表b中读取------------
Do While NOT oRS1.EOF
IF oRS("did") = oRS1("did") THEN
Info = Info & oRS1("fnane") & "<BR>"
END IF
oRS1.MoveNext
Loop
Response.Write("<td>"& info &"</td>")
Info=" "
oRS.MoveNext
Loop
Response.Write("</tr></table>")
%>

28,406

社区成员

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

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