怎么才能一组一组循环显示?

a2048 2006-03-14 11:29:30
........
String sql = "";
String a = "";
int i=0;
sql="select a,b from ab where id='0' order by b";
rs = stmt.executeQuery( sql );
%>
<table border="1" cellspacing="0" width="161" height="20">
<tr>
<%
while(rs.next()){
a=rs.getString("a").trim();
b=rs.getString("b").trim();
if(i % 3 == 0){
%>
<br/><br/>
<p align="left"><b><font size="2">   </font><font size="4">组号 <%=b%></font></b></p>

<%}
i++; %>
<table border="1" cellspacing="0" width="161" height="20">
<tr>
<td height="20" colspan="2" align="center"><font size="2"> <%=a%> </font></td>
</tr>
</table>
<%} %>
.........
我的数据库的数据是:
字段 id a b
0 钢笔 023
0 铅笔 023
0 圆珠笔 023
0 圆珠笔 023
0 钢笔 056
0 铅笔 056
0 圆珠笔 087
0 圆珠笔 087
字段a是货物名称,b是组号
以上代码已经实现功能如下:

组号 023
钢笔
铅笔
圆珠笔


组号 023

圆珠笔
钢笔
铅笔


组号 087

圆珠笔
圆珠笔

现在怎样才能一组一组循环显示?
象下面的效果:
组号 023
钢笔
铅笔
圆珠笔
圆珠笔


组号 056

钢笔
铅笔



组号 087

圆珠笔
圆珠笔

...全文
131 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yxxx 2006-03-16
<%
int i = 0;
String t = "";
boolean start = false;
while(rs.next())
{
a=rs.getString("a").trim();
b=rs.getString("b").trim();
if(!t.equals(b)){
if(start)
for(int j=0;j<10-i;j++)
out.println("<br/>");
%>
<br/><br/>
<p align="left"><b><font size="2">   </font><font size="4">组号 <%=b%></font></b></p>

<%
t = b;
start = true;}
i++;
%>

加个判断就行了
回复
northwolf_sky 2006-03-15
判断一下
回复
a2048 2006-03-15
yxxx(小孬)能帮我再看看吗?谢谢!
回复
yxxx 2006-03-14
String t = "";
while(rs.next())
{
a=rs.getString("a").trim();
b=rs.getString("b").trim();
if(!t.equals(b))
{...}
t = b;
}

试试
回复
tomuno 2006-03-14
每个rs.next()下是一个<tr>
每个属性是一个<td>
回复
a2048 2006-03-14
yxxx(小孬)非常谢谢您回答。
符合我的要求,但有个小问题在循环出来后第一组上面也空10行了,变成:









组号 023
钢笔
铅笔
圆珠笔
圆珠笔

........

有什么办法第一组不要空10行直接象这样:
组号 023
钢笔
铅笔
圆珠笔
圆珠笔
回复
yxxx 2006-03-14
<%
int i = 0;
String t = "";
while(rs.next())
{
a=rs.getString("a").trim();
b=rs.getString("b").trim();
if(!t.equals(b)){
for(int j=0;j<10-i;j++)
out.println("<br>");
%>
<br/><br/>
<p align="left"><b><font size="2">   </font><font size="4">组号 <%=b%></font></b></p>

<%
t = b;}
i++;
%>

试试看
回复
a2048 2006-03-14
yxxx(小孬)谢谢您了。
我还想问个问题。答对再加50分。
怎么来控制每组循环显示在10行的距离里,也就是每组循环显示在规定的范围里。
的效果:
组号 023
钢笔
铅笔
圆珠笔
圆珠笔






组号 056
钢笔
铅笔








组号 087
圆珠笔
圆珠笔
回复
yxxx 2006-03-14
<%
while(rs.next()){
a=rs.getString("a").trim();
b=rs.getString("b").trim();
if(i % 3 == 0){
%>
<br/><br/>
<p align="left"><b><font size="2">   </font><font size="4">组号 <%=b%></font></b></p>

<%}
i++; %>

替换为====>>>

<%
String t = "";
while(rs.next())
{
a=rs.getString("a").trim();
b=rs.getString("b").trim();
if(!t.equals(b)){
%>
<br/><br/>
<p align="left"><b><font size="2">   </font><font size="4">组号 <%=b%></font></b></p>

<%
t = b;
}%>
回复
a2048 2006-03-14
我看不明白你们写的,能详细些吗?
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2006-03-14 11:29
社区公告
暂无公告