我些了一个循环显示的例子,链接数据库就省略了。
<table width=500 height=120 cellpadding="0" cellspacing="0">
<tr> 
<%int i = 0; 
while(rs.next()){ 
%>
<td height="148">
  <table width="100" height="100">
      <tr>
        <td width="90" height="90"><a href="costumeinfo.jsp?Id=<%=rs.getString("Id")%>"><img src="../pic/costume/<%= rs.getString("Path") %>" onload="javascript:DrawImage(this,105,105)"></a></td>
      </tr>
  <tr>
    <td><a href="costumeinfo.jsp?Id=<%=rs.getString("Id")%>" class="hot"><%=rs.getString("CostumeName")%></a></td>
  </tr>
  </table>
</td>
<% 
i++; if(i%4==0){out.println("<tr>");} 
if(i>=8){
break;
}

%></tr></table>我这样从数据库里提取出图片,显示效果是如果右4个,会排满一行,如果是三个,就会平均分这个表格,如果是2个,也是平均分,现在我想让它从左向右排,如果3个,就站左边的3个位置,如果5个,就站第一排的4个位置之后,再第二排第一个显示第5个。

解决方案 »

  1.   

    align="center"要定义好表格的宽度
      

  2.   

    循环完毕后
    if(i%4==1){
    out.println("<td></td><td></td><td></td>");
    }
    if(i%4==2){
    out.println("<td></td><td></td>");
    }
    if(i%4==1){
    out.println("<td></td>");
    }
    //补齐剩余的表格。
      

  3.   

    楼上的方法我试过了,不行啊,我的是表格里面还有一个<table>呢,我单个用表格不行,我把表格的长宽高都定义好,再放表格,但是只能判断一种,就是如果I%4=3这种,再些=2的就不行了。谁有更好的方法吗?谢谢了。我都遇到这个问题好多天了,不知道如何解决。