您所在的位置:首页>>建站知识

SpeedPHP 实现无限分类方法

点击数:2913 更新时间:2014-04-06 15:20:00 来源: 厦门网站建设-返回

一、创建数据模型
在 model 文件夹中 创建好相对于数据模型,并且使用如下代码:

其中一个分类表中 有 4个重要 字段分别是

id、pid、cname、seq

其中,pid 是指定分类所属的上级标识。

通过循环 ,将分类的上下级分别列出。

 for($i=0;$i < $level *2 - 1;$i++){

           //$str .=" ";

$str .="";

       }

       if($level++){$str .= "┝";};

//if($level++){$str .= "";};

       foreach ($results as $cat){

           $id = $cat['id'];

$pid = $cat['pid'];

           $name = $str.$cat['cname'];

$seq = $cat['seq'];

$ismenu = $cat['ismenu'];

$part = $cat['part'];

$another = $cat['another'];

           $value = array('id'=>$id,'pid'=>$pid,'cname'=>$name,'seq'=>$seq,'ismenu'=>$ismenu,'part'=>$part,'another'=>$another);

           $catlist[] = $value;

           $catlist = array_merge($catlist,$this->getCatalogList($id,$level));

       }

2、最后在前台使用Smarty解析出来。

   <select name="classid" id="classid">
         <option selected value="0">根目录</option>
          <{foreach item=resultclassname from=$resultclass key=enname}>
           <{if $classid == $resultclassname.id}>
           <option selected value="<{$resultclassname.id}>"><{$resultclassname.cname}></option>
            <{else}>
           <option value="<{$resultclassname.id}>"><{$resultclassname.cname}></option>
           <{/if}>
       <{/foreach}>
</select>


【责任编辑:CSW8923
展开