请问如何实现产品无限分类列表的显示?
产品无限级分类数据库设计方案:
classid classname fatherid
  1      电子产品    0
  2      书籍地图    0
  3      手机        1
  4      电脑        1
  5      计算机书    2
  6      考试书籍    2说明:fatherid是父类ID,如果为0表示是根类,如果为1表是电子产品大类的子类。请问如何实现以下方式的类别列表:
*电子产品
    手机
    电脑
*书籍地图
    计算机书 
    考试书籍
数据库是MYSQL的 如何用jsp实现

解决方案 »

  1.   


    用数组
            先根据 fatherid 为0查询出来一list 里面是产品类 例如product
    然后循环 
    Object [][]subobject = new Object[list.size()][自己写子产品的多少];
             for(int i=0;i<list.size;i++){
              //查询出来都是fatherid 为0的产品
               product p=(product)list.get(i); 
              //然后查询fatherid 为p.getClassid()的产品为subproduct
                     for(int j=0;j<subproduct.size();j++){
                       
                   product sub = (product) subproduct.get(j);
           subobject[i][j] = sub;
                     }
                  
         }
    //先把list和subobject放到request中//jsp中从request中取出来 list 和subobject循环 就可以了
    for(int i=0;i<list.size;i++){
    product p=(product)list.get(i); 
    out.println(p.getclassname);
           for(int j=0;j<subobject.size();j++){
      out.print("    空两格");
    //取出来二维数组中的数据就可以了
           out.println(p.getclassname);
    }}
                 
      

  2.   

    如果分类对你的应用非常重要。
    而显示分类的树状结构也非常重要的话,请参考如下数据结构。它能够1个普通的SQl创建一个完整的树,当然,增加和移动效率就稍差一些了。http://www.java2000.net/viewthread.jsp?tid=163文章在网上很多,一般树层次非常多,而查询要求非常高的时候很好用。如果插入编辑比较多,那就不好用了。