The example in this article shows how ThinkPHP auto-fills to achieve infinite classification. It is one of the common functions of ThinkPHP and is of great practical value. Now I will share the complete example with you for your reference. The specific implementation steps are as follows:
Table aoli_cate is shown below:
1. Action part:
aoli/Home/Lib/Action/CataAction.class.php file is as follows:
<?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('添加栏目失败'); } //dump($vo); }else{ $this->error($cate->getError()); } } } ?>
2. Model part:
aoli/Home/Lib/Model/CataModel.class.php file is as follows:
<?php class CateModel extends Model{//对应数据库中的表aoli_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; } } ?>
3. View part
aoli/Home/Tpl/default/Cate/index.html page is as follows:
<form action="__URL__/add" method="post"> 请选择父级栏目:<select name="pid" size="20"> <option value="0">根栏目</option> <volist name="alist" id="vo"> <option value="{$vo['id']}"> <php> for($i=0;$i<$vo['count'];$i++){ echo ' '; } </php> {$vo['name']} </option> </volist> </select><br /> 新的栏目名称:<input type="text" name="name" /><br /> <input type="submit" value="添加栏目" /> </form>
I believe that the examples described in this article have certain reference value for everyone’s ThinkPHP programming design.
Silly bird, the last login time and last login IP need to be updated manually by writing a method. When verifying that the login is successful, call the update method you wrote.
The filling set by the Model is automatically filled when operating data.
You got the concept wrong.
So, what do you want to ask?,,,, I have also watched this video, it’s pretty good,