怎么才能一组一组循环显示?
........
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
圆珠笔
圆珠笔
问题点数:100、回复次数:10Top
1 楼tomuno(特别行动组)回复于 2006-03-14 11:39:49 得分 0
每个rs.next()下是一个<tr>
每个属性是一个<td>Top
2 楼yxxx(_小孬)回复于 2006-03-14 11:42:24 得分 20
String t = "";
while(rs.next())
{
a=rs.getString("a").trim();
b=rs.getString("b").trim();
if(!t.equals(b))
{...}
t = b;
}
试试Top
3 楼a2048(你好吗)回复于 2006-03-14 13:52:16 得分 0
我看不明白你们写的,能详细些吗?Top
4 楼yxxx(_小孬)回复于 2006-03-14 14:04:09 得分 30
<%
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;
}%>
Top
5 楼a2048(你好吗)回复于 2006-03-14 15:51:11 得分 0
yxxx(小孬)谢谢您了。
我还想问个问题。答对再加50分。
怎么来控制每组循环显示在10行的距离里,也就是每组循环显示在规定的范围里。
的效果:
组号 023
钢笔
铅笔
圆珠笔
圆珠笔
组号 056
钢笔
铅笔
组号 087
圆珠笔
圆珠笔
Top
6 楼yxxx(_小孬)回复于 2006-03-14 16:26:26 得分 40
<%
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++;
%>
试试看Top
7 楼a2048(你好吗)回复于 2006-03-14 17:40:39 得分 0
yxxx(小孬)非常谢谢您回答。
符合我的要求,但有个小问题在循环出来后第一组上面也空10行了,变成:
组号 023
钢笔
铅笔
圆珠笔
圆珠笔
........
有什么办法第一组不要空10行直接象这样:
组号 023
钢笔
铅笔
圆珠笔
圆珠笔
Top
8 楼a2048(你好吗)回复于 2006-03-15 13:41:13 得分 0
yxxx(小孬)能帮我再看看吗?谢谢!Top
9 楼northwolf_sky(似水微蓝)回复于 2006-03-15 18:52:40 得分 0
判断一下Top
10 楼yxxx(_小孬)回复于 2006-03-16 13:00:29 得分 10
<%
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++;
%>
加个判断就行了Top




