时间:2021-07-01 10:21:17 帮助过:32人阅读
创建数据库表:tb_cate:id,name,pid,path
action
- <!--?php
- /**
- * ThinkPHP中的
- * 自动完成(无限极分类)
- *
- 用户输入的字段并不是用户手动填写的
- *
- */
- class AutoCateAction extends Action{
- public 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=D('Cate');
- if ($vo=$cate->create()) {
- dump($vo);
- if ($cate->add()){
- $this->success("注册成功");
- }else{
- $this->error($cate->getError());
- }
- }else{
- $this->error($cate->getError());
- }
- }
- }
- ?>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title></title>
- <!--?php
- class CateModel extends Model{
- protected $_auto=array(
- array('path','filldata',3,'callback'),
- );
- function filldata(){
- //因为在model当中,所以不用new,直接用this就可以了
- $pid=isset($_POST['pid'])?(int)$_POST['pid']:0;
- if ($pid==0)return 0;
- $pcate=$this--->where('id='.$pid)->find();
- $path=$pcate['path'].'-'.$pcate['id'];
- return $path;
- }
- }
- ?>