SpeedPHP 实现无限分类方法
一、创建数据模型
在 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>