用xml描述二级分类菜单
然后用php的xml类解析

解决方案 »

  1.   

    用xml描述二级分类菜单 
    然后用php的xml类解析
    _------------------------------------------------------------------
    不要XML
    ,因为我不太懂。另外“b里面建个parentId字段”,我是想往这个方向走,但是没有处理这个字段的思路啊。在线等招。
      

  2.   

    为了一次查询就能实现,我看到有些程序是这样控制.都记录 用一字段大类ID  ,记录当前类ID的序号(有一定规则),
    如 a类编号01
    B类编号02
    那么A小类AA类编号变成01-01,AA类小类变成编号01-01-01
    B类02
    B类小类BB类编号02-01
    select * from tb_class where catalog_id=大类编号 and class_id>当前类编号 order by 序号
    就可以得到当前类的小类..
      

  3.   

    b里面建个parentId字段,用递归的方法可以得到无限分类的
      

  4.   

    不要递归吧  我的最多是三级分类。我在网上招了一段,但是看不太懂,大家帮忙解释一下。这个问题是我学PHP最大的难题之一,主要是弄不清楚它的逻辑是什么。
    ——————————————————————————————
    要实现无限级分类,递归一般是第一个也是最容易想到的,但是递归一般被认为占用资源的方法,所以很多系统是不考虑使用递归的
    本文还是通过数据库的设计,用一句sql语句实现
    数据库字段大概如下:
    id 编号
    fid 父分类编号
    class_name 分类名
    path 分类路径,以 id 为节点,组成类似 ,1,2,3,4, 这样的字符串
    可以假设有如下的数据id   fid   class_name   path
    1     0      分类1        1
    2     0      分类2        2
    3     1     分类1-1 ,    1, 3,
    4     1     分类1-2 ,    1,4,
    5     2     分类2-1 ,    2,5,
    6     4     分类1-2-1   ,1,4,6,
    PHP代码
    <?php 
    $sql="SELECT * FROM tree order by path"; 
    $result=$nbs->Query($sql); 
    while($rows=$nbs->fetch_array($result)){ 
    if(substr_count($rows['path'],',')>2){ 
    for($i=0;$i<(substr_count($rows['path'],',')-2);$i++) 
    echo ' '; 

    echo $rows['class_name'].'<br>'; 

    ?> 其中$nbs是数据库操作类,此方法简单明了! ————————————————————————————————————————
    作者说简单明了 ,我却看不懂,真实郁闷。
      

  5.   

    就是类似信息网站分成征婚、招聘各类信息那样。只求这么一个答案:原理和算法是什么?基本用到那几个函数?我最大的疑问就是:程序怎么写,才能让B类ID是A类ID的子集。在我学过的,有过两个数据表的某两个ID段是等同的,但从属关系的没有见过啊。
      

  6.   

    就是类似信息网站分成征婚、招聘各类信息那样。只求这么一个答案:原理和算法是什么?基本用到那几个函数?我最大的疑问就是:程序怎么写,才能让B类ID是A类ID的子集。在我学过的,有过两个数据表的某两个ID段是等同的,但从属关系的没有见过啊。