首先感谢回复
网上也找了
比较乱 递归 左右值
然后好像没有跟SMARTY结合的
看的我晕头转向……

解决方案 »

  1.   

    首先分清楚层次,数据,逻辑运算,呈现;
    SMARTY只是最后的数据输出,首先要理清,数据结构,以及核心算法。
      

  2.   

    给你一个思路,给你看看PHP下组合模式的文章。
    如果一个子分类只有一个父分类的话,实现起来是很容易的。http://blog.csdn.net/froole/archive/2008/06/04/2510863.aspx
      

  3.   

    和Smarty结合?恐怕很烦啊……如果是不定的、无限分类,我连<section>...</section>写几次都8知道啊……
      

  4.   

    我以前写的无限分类的例子,是在ZF下面的.可以参考一下:http://www.phperunion.cn/viewthread.php?tid=4&extra=page%3D1
      

  5.   

    数据库表tb结构
    id(主id)        class_id(标志id)        name(分类名)
    1                    0                                   aa
    2                    1                                   bb
    3                    2                                   cc第一步 遍历分类表:
    $sql = select   *   from    tb;
    $result = mysql_query($sql);
    $row = mysql_fetch_array($result );第二步 组合无级分类数组:调用recursion方法参数$class_id从0开始(由上往下找)recursion($row,0);function recursion($row,$class_id){
         foreach ($row as $v) {
            if ($v[class_id] == $class_id) {
                      $arrayCategory[] = $v;
                      recursion($row,$v[id]);
            }
         }
              return $arrayCategory;
    }第三步 显示无级分类display('category',$arrayCategory);页面:
    <table>
    {section name=i loop=$category}
        <tr>
            <td>{  $category [ i ] [i][i]. name  }</td>
         </tr>
    {/section}
    </table>
    [/i][/i]
      

  6.   

    组合模式,我发个代码给你看下.
    无非就一个递归,其实没什么大不了的
    <?php
    class node{
        var $name;
        function node($name){
            $this->name=$name;
        }
        function remove(){}
        function add(){}
        function display(){}
        function dispaly_($depth){
            $i=0; 
            while($i<$depth){
                echo "&nbsp;&nbsp;&nbsp;&nbsp;";
                $i++;
            }
            echo $this->name."<br>";
        }
    } class leaf extends node{
        function leaf($name) {
            parent::node($name);
        }
        function remove(){
            echo "leaf remove error!";
        }
        function add(){
            echo "leaf add error!";    
        }
        function display($depth){
            $this->dispaly_($depth); 
        }
    }class anode extends node{
      var $children=array();
        function anode($name){
            parent::node($name);
        }
        
        function remove(){
            echo "anode can't remove!";
        }
        
        function add(&$node){
           $this->children[]=$node;   
        }
        
        function display($depth){
            $this->dispaly_($depth);
            foreach ($this->children as $node) {
                $node->display($depth+1);
            }
            
        }   
    }
     $root= new anode("root");
     $root->add(new leaf("leaf1"));
     $root->add(new leaf("leaf2"));
     $root->add($a1=new anode("anode1"));
     $root->add(new anode("anode1"));
     $a1->add($a2=new anode("leaf3"));
     $a2->add(new anode("anode34"));
     $root->display(0);
    ?>
      

  7.   

    金诺软件 产品包括 《进销存管理系统》《库存管理系统》《连锁店销售管理系统》《服装销售管理系统》
    产品集中体现了简单、易用、适用的风格。是集商品进、销、存和财务管理一体化的管理软件:
    即将物流与钱流、业务数据与财务数据自动集成,实现商品库存、往来账项、资金流动、费用收支及利润浑然联结。
    它超越了财物的门槛,用通俗易懂的思路代替了会计专业概念,操作简明、流畅。即使不懂会计,也能在短期内学会使用,
    是面向中小企业全面管理软件的典范。
    提供了全面的业务解决,包括:采购管理、销售管理、库存管理、账务管理、往来管理、门店管理、零售管理、会员卡管理、
    操作员权限管理、查账管理 POS机 等,满足不同用户不同的管理与营销需要。 
       
    网址:   http://www.e88e.com.cn金诺软件产品采用最大限度上的各种合作、代理,希望能够通过软件代理商,把金诺企业管理系列产品推广给更多有需要的客户,无论是个人还是企业,只要看好金诺企业管理软件产品,都可以成为我们的代理商,零投入高回报,代理商无须压货,只要把产品介绍给有需要的客户,
    源码购买价格可议
    详情请直接跟我们业务部联系。
     具体事项欢迎直接与我们业务部联系: 13999954110