300分求助合并单元格的问题????????????????

程序猿3000 2005-03-29 04:51:54
代码 名称 数量 婚否
-------------------------------
1 a 0 0
a 0 0
2 b 0 0
b 0 1
b 0 1
b 0 1
b 0 0

上面是有表格的,而且数据是从 表 demo 取出来的
如果代码相同,则合并。(数据是从表中查出来的)
该如何做????????????????????????????????????????????
...全文
177 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
eyun 2005-03-29
  • 打赏
  • 举报
回复
下载数据库:
http://www.eyun.org/temp/try.mdb
eyun 2005-03-29
  • 打赏
  • 举报
回复
效果浏览:

http://www.eyun.org/temp/try1.asp



代码如下
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>

<body>

<%
Set Conn=Server.CreateObject("ADODB.Connection")
Connstr="DBQ="+server.mappath("try.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
Conn.Open connstr

sql="select distinct a from a "
set rs=conn.execute(sql)
%>
<table width="750" border="1">
<%
if not (rs.eof and rs.bof) then
rs.movefirst
while not rs.eof
sql="select count(*) from a where a='"&rs("a")&"'"
counter=conn.execute(sql)(0)
sql="select * from a where a='"&rs("a")&"'"
set rs1=conn.execute(sql)

%>
<tr>
<td rowspan="<%= counter %>"><%= rs("a") %> </td>

<td><%= rs1("b") %> </td>
<td><%= rs1("c") %> </td>
<td><%= rs1("d") %> </td>
<td><%= rs1("e") %> </td>
</tr>
<% rs1.movenext
while not rs1.eof
%>
<tr>
<td><%= rs1("b") %> </td>
<td><%= rs1("c") %> </td>
<td><%= rs1("d") %> </td>
<td><%= rs1("e") %> </td>
</tr>
<%
rs1.movenext
wend
rs.movenext
wend

end if
%>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
</body>
</html>
scoutlin 2005-03-29
  • 打赏
  • 举报
回复
<table id="t1" border=1>
<tr><td>代码</td><td>名称</td><td>数量</td><td>婚否</td></tr>
<tr><td>1</td><td>a</td><td>0</td><td>0</td></tr>
<tr><td>1</td><td>a</td><td>0</td><td>0</td></tr>
<tr><td>2</td><td>b</td><td>0</td><td>0</td></tr>
<tr><td>2</td><td>b</td><td>0</td><td>1</td></tr>
<tr><td>2</td><td>b</td><td>0</td><td>1</td></tr>
<tr><td>2</td><td>b</td><td>0</td><td>1</td></tr>
<tr><td>2</td><td>b</td><td>0</td><td>0</td></tr>
<tr><td>2</td><td>b</td><td>0</td><td>0</td></tr>
</table>

这段是用ASP生成的

别告诉我你不会。。
程序猿3000 2005-03-29
  • 打赏
  • 举报
回复
我的数据不适固定的,是从数据库中取出来的,我上面的数据只是随便写的,可能有很多条数据
scoutlin 2005-03-29
  • 打赏
  • 举报
回复
不好意思
搞错了你的意思

先 生成格式完整的表格
再用JS转成你要的格式

<div id=div1>
<table id="t1" border=1>
<tr><td>代码</td><td>名称</td><td>数量</td><td>婚否</td></tr>
<tr><td>1</td><td>a</td><td>0</td><td>0</td></tr>
<tr><td>1</td><td>a</td><td>0</td><td>0</td></tr>
<tr><td>2</td><td>b</td><td>0</td><td>0</td></tr>
<tr><td>2</td><td>b</td><td>0</td><td>1</td></tr>
<tr><td>2</td><td>b</td><td>0</td><td>1</td></tr>
<tr><td>2</td><td>b</td><td>0</td><td>1</td></tr>
<tr><td>2</td><td>b</td><td>0</td><td>0</td></tr>
<tr><td>2</td><td>b</td><td>0</td><td>0</td></tr>
</table>
</div>
<script>
var rowspan=1;
var fromspan=0;
t=document.getElementById("t1");
for(var i=t.rows.length-1;i>=1;i--)
if(t.rows[i].cells[0].innerText==t.rows[i-1].cells[0].innerText)
{
t.rows[i].deleteCell(0);
rowspan++;
}
else{
t.rows[i].cells[0].rowspan=rowspan
rowspan=1;
}
div1.innerHTML=t1.outerHTML
</script>
yzxlyd 2005-03-29
  • 打赏
  • 举报
回复
select * from demo group by 代码
程序猿3000 2005-03-29
  • 打赏
  • 举报
回复
hbhbhbhbhb1021(天外水火)
你理解错了我的意思了
代码是随即的是从数据库中查出来的
jarod0820 2005-03-29
  • 打赏
  • 举报
回复
看了半天还是不明白问的是什么。如果是要对数据进行操作的话,直接用group by就可以了。也可以在查询出来的纪录中再做一次查询,这样看起来好像条理清楚一些。
hbhbhbhbhb1021 2005-03-29
  • 打赏
  • 举报
回复
id name num
rs.open sql conn 1,1
dim i
rs.movefirst
dim a
a=""
dim id
id=1
response.write <table>
for i=1 to rs.fieldcount
response.write <tr>
if rs("name")<>a then
id=id+1
response.write "<td>" & id & "</td>"
else
response.write "<td></td>"
end if
response.write "<td>" & rs("name") & "</td><td>" & rs("num") & "</td>"
if rs.eof then
response.write </tr>
exit for
end if
response.write </tr>
rs.movenext
next
response.write </table>
基本框架打好了,然后你用CSS建下,具体就是输入TD的上下边框
程序猿3000 2005-03-29
  • 打赏
  • 举报
回复
ASP+脚本如何实现
adLockReadonly 2005-03-29
  • 打赏
  • 举报
回复
用ASP也可以,用脚本也可以

就是HTML不行
程序猿3000 2005-03-29
  • 打赏
  • 举报
回复
可能大家理解错了我的意思了
我的要求是
用<table>
<tr>
<td>
</table>
这样的形势来表达
lovebeyondforever 2005-03-29
  • 打赏
  • 举报
回复
还是没看懂
程序猿3000 2005-03-29
  • 打赏
  • 举报
回复
代码 名称 数量 婚否
------------------------------------
1 a 0 0
----------------------------
a 0 0
------------------------------------
2 b 0 0
---------------------------
b 0 1
---------------------------
b 0 1
---------------------------
b 0 1
---------------------------
b 0 0
------------------------------------
我不会画竖线,就是这种效果
scoutlin 2005-03-29
  • 打赏
  • 举报
回复
select 代码,max(名称),sum(数量) from table group by 代码
程序猿3000 2005-03-29
  • 打赏
  • 举报
回复
放到<table>中如何做?
我是新手
zhutimy 2005-03-29
  • 打赏
  • 举报
回复
group by 代码
hbhbhbhbhb1021 2005-03-29
  • 打赏
  • 举报
回复
比方说3个字段
id name num
rs.open sql conn 1,1
dim i
rs.movefirst
dim a
a=""
dim id
id=1
for i=1 to rs.fieldcount
if rs("name")<>a then
id=id+1
response.write id
end if
response.write rs("name") & rs("num")
if rs.eof then
exit for
end if
rs.movenext
next
hbhbhbhbhb1021 2005-03-29
  • 打赏
  • 举报
回复
比方说3个字段
id name num
rs.open sql conn 1,1
dim i
rs.movefirst
dim a
a=""
dim id
id=1
for i=1 to rs.fieldcount
if rs("name")<>a then
id=id+1
response.write rs("id")
end if
response.write rs("name") & rs("num")
if rs.eof then
exit for
end if
rs.movenext
next
程序猿3000 2005-03-29
  • 打赏
  • 举报
回复
关键是合并的问题
加载更多回复(6)

28,406

社区成员

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

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