数据库中的表所属类别    名 称    单 价    重 量    备 注
类别1       商品1     10       5       备注1
类别2       商品2     20       1       备注2
类别3       商品3     30       5       备注3
类别1       商品4     15       7       备注4
类别2       商品5     10       9       备注5
类别1       商品6     16       3       备注6
类别3       商品7     23       4       备注7显示在网页中的表
           类别1                             类别2                              类别3    
名称    单价    重量    备注      名称    单价    重量    备注       名称    单价    重量    备注
商品1    10      5      备注1     商品2    20      1      备注2      商品3    30      5      备注3
商品4    15      7      备注4     商品5    10      9      备注5      商品7    23      4      备注7
商品6    16      3      备注6
每一种类别的商品数量都不一样,要从数据库中取出分别放在对应类别下(名称 单价 重量 备注),只用jsp写,用<table>来表示网页中的表格(关键是要分别显示在对应的类别下,并且表格的列数为类别最多的一列的列数
连接数据库的代码就不用了,怎么实现,谢谢(表格画得不规范,不好意思)

解决方案 »

  1.   

    你可以全部查出来以后再过滤....类别等于 1 的 显示在第一个TABLE里...
    类别等于 2 的 显示在第2个TABLE里... 
    类别等于 3 的 显示在第3个TABLE里...
      

  2.   

    需要强SQL吗?!  LZ也不需要合计,如 类别1 下有多个商品1需合计单 价,重 量所属类别    名 称    单 价    重 量    备 注 
    类别1      商品1    10      5      备注1 
    类别2      商品2    20      1      备注2 
    类别3      商品3    30      5      备注3 
    类别1      商品4    15      7      备注4 
    类别2      商品5    10      9      备注5 
    类别1      商品6    16      3      备注6 
    类别3      商品7    23      4      备注7 直接查找库得到一组对象arrayList
    查找类别对应各自数量,放入hashmap中,key=类别,value=对应数量
     
    根据这数据已经能拼成
                 类别1                       类别2
    名称    单价    重量    备注  数量    名称    单价    重量    备注  数量
    1       2       2    vvv   4      2      23      4     u8   12字符串,再传入到jsp显示。
      

  3.   

    (关键是要分别显示在对应的类别下,并且表格的列数为类别最多的一列的列数)
    ???
    看lz自己画的表,列应该是固定的啊
    如果行数是类别最多的行数的话,表头不变,可以按类别取出所有记录,循环往table里插行就是了啊
      

  4.   

    可以用嵌套的java.util.List实现吧
      

  5.   

    写类别和商品两个类:类别中有一个商品的集合,就是这个类别下的所有商品
    用hibernate的话,不用多说了,直接查类别就OK了。
    用jdbc的话,遍历所有类别,然后差这个类别下的所有商品保存到集合中
    最后在jsp显示时遍历所有的类别下的集合就OK了吧?
      

  6.   

    不知道LZ有没有兴趣看看我的这个帖子。
    http://topic.csdn.net/u/20090626/15/edc6a135-79ca-4299-9ea7-207dcd6d8121.html
    嘿嘿
      

  7.   

    一楼说的正确,
    楼主没必要放在一个table 中,放在三个table中,外面在套一个
    大table,效果是一样地.
      

  8.   

    按照类别写3个sql语句,用最长的返回结果集做判断条件输出
      

  9.   

    以下代码肯定可以的,具体你自己调试一下吧,
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>无标题文档</title>
    </head><body>
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
      <% 
        String sql="select 类别 from table group by 类别";
    List list=....(sql);
    String  str;
    for(int i=0;i<list.size();i++){
       ...
      %>
        <td>...(取出的类别)</td>
    <%}%>
      </tr>
      <tr>
      <%
       for(int i=0;i<list.size;i++){
         str=...(取出的类别);
        %>
        <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
            <tr> 
              <td><div align="center">名称</div></td>
              <td><div align="center">单价</div></td>
              <td><div align="center">重量</div></td>
              <td><div align="center">备注</div></td>
            </tr>
    <%
      String sql1="select 名称,单价,重量,备注 from table where 类别='"+str+"'";
      List list1 = ...(sql1);
      for(int j=0;j<list1.size();j++){
    %>
            <tr> 
              <td>...(取出的名称)</td>
              <td>...(取出的单价)</td>
              <td>...(取出的重量)</td>
              <td>...(取出的备注)</td>
            </tr>
    <%}%>
          </table></td>
      <%}%>
      </tr>
    </table>
    </body>
    </html>