分类栏目Thinkphp实现无限极分类

 无穷级分类太重要了。可是我就是不会写,怎么办?
本篇就一点一点教大家写一个无穷级分类出来。
最主要的是要把握无穷极分类的逻辑,那么写起来就很容易的多了
首先看数据库表:xp_cate

控制器: CateAction.class.php
<?php 
class CateAction extends Action{ 
function index(){ 
$cate=M('Cate'); 
$list=$cate->field("id,name,pid,path,concat(path,'-',id) as bpath")->order('bpath')->select(); 
foreach($list as $key=>$value){ 
$list[$key]['count']=count(explode('-',$value['bpath'])); 
} 
$this->assign('alist',$list); 
$this->display(); 
}//添加栏目 
function add(){ 
$cate=new CateModel();if($vo=$cate->create()){ 
if($cate->add()){ 
$this->success('添加栏目成功'); 
}else{ 
$this->error('添加栏目失败'); 
} 
}else{ 
$this->error($cate->getError()); 
} 
}} 
?>
模型:CateModel.class.php
<?php 
class CateModel extends Model{//对应数据库中的表xp_cate 
protected $_auto=array( 
array('path','tclm',3,'callback'), 
);function tclm(){ 
$pid=isset($_POST['pid'])?(int)$_POST['pid']:0; 
echo ($pid); 
if($pid==0){ 
$data=0; 
}else{ 
$list=$this->where("id=$pid")->find(); 
$data=$list['path'].'-'.$list['id'];//子类的path为父类的path加上父类的id 
} 
return $data; 
} 
} 
?>
每日一道理 
春蚕死去了,但留下了华贵丝绸;蝴蝶死去了,但留下了漂亮的衣裳;画眉飞去了,但留下了美妙的歌声;花朵凋谢了,但留下了缕缕幽香;蜡烛燃尽了,但留下一片光明;雷雨过去了,但留下了七彩霓虹。
模板:index.html
<form action="__URL__/add" method="post"> 
请选择父级栏目:<select name="pid" size="20"> 
<option value="0">根栏目</option> 
<volist name="alist" id="vo"> 
<option value="{$vo['id']}"> 
<for start="0" end="$vo['count']"> 
   
</for> 
{$vo['name']} 
</option> 
</volist> 
</select><br /> 
新的栏目名称:<input type="text" name="name" /><br /> 
<input type="submit" value="添加栏目" /> 
</form>
表现结果如下:




文章结束给大家分享下程序员的一些笑话语录: 问路
有一个驾驶热气球的人发现他迷路了。他降低了飞行的高度,并认出了地面 上的一个人。他继续下降高度并对着那个人大叫,“打扰一下,你能告诉我我 在哪吗?”
下面那个人说:“是的。你在热气球里啊,盘旋在 30 英尺的空中”。
热气球上的人说:“你一定是在 IT 部门做技术工作”。
“没错”,地面上的人说到,“你是怎么知道的?”
“呵呵”,热气球上的人说,“你告诉我的每件事在技术上都是对的,但对都没 有用”。
地面上的人说,“你一定是管理层的人”。
“没错”,热气球上的人说,“可是你是怎么知道的?”
“呵呵”,地面上的那人说到,“你不知道你在哪里,你也不知道你要去哪,你 总希望我能帮你。你现在和我们刚见面时还在原来那个地方,但现在却是我 错了”。
--------------------------------- 原创文章 By 
分类和栏目
--------------------------------- 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值