2、執行sql語句select id,name,pid,path,concat(path,'-',id) as bpath from think_cate order by bpath;
<form action="__URL__/add" method="post">
請選擇父級欄目<select name="pid">
<option value='0'>根欄目</option>
</select><br>
新的欄目名稱:<input type="text" name="name"><br>
<input type="submit" value="添加欄目">
</form>
Action:
<?php
class CateAction extends Action {
function index(){
$Cate = D('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('list',$list);
$this->display();
}
function add(){
$cate = D('cate');
if($vo=$cate->create()){
if($cate->add()){
$this->success('添加成功');
}else{
$this->error('添加失敗');
}
//dump($vo);
}else{
$this->error($cate->getError());
}
}
}
?>
Model:
<?php
class CateModel extends Model {
protected $_auto=array(
array('path','tclm',3,'callback'),
);
function tclm(){
$pid = isset($_POST['pid'])? (int)$_POST['pid']:0;
if($pid==0){
return 0;
}
$map['id'] = $pid;
// echo $pid;
$list=$this->where($map)->find();
//dump($list);
$data = $list['path'].'-'.$list['id'];
return $data;
}
}
?>
<form action="__URL__/add" method="post">
請選擇父級欄目<select name="pid">
<option value='0'>根欄目</option>
<volist name='list' 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>