日期:2014-05-16  浏览次数:20511 次

本人想的一个thinkphp无级分类方法,使用字符串传到模板
public function _getMenu($id=0,$t=0){
$category = M("category");
$data = $category->where("pid=$id")->order("sort asc")->select();

if($data){
$t++;
$data2['leavel'] = $t;
$category->where("pid=$id")->save($data2); //层级
foreach($data as $key=>$value){
$sort = $value['sort'];
$id = $value['id'];
$this->str .= '<tr><td><input name = "ids['.$id.']" type = "text" value = "'.$sort.'"></td>';
$this->str .= "<td>". $value['id']."</td>";
if($t>1){
if()
$this->str .= "<td>|-----".$value['name']."</td>";

}else{
$this->str .= "<td>".$value['name']."</td>";
}
$this->str .= "<td>".$value['group']."</td>";
$id = $value['id'];
$this->str .= '<td><a href = http://localhost/tptest/index.php/Article/deletelanmu?id='.$id.'>删除</a></td></tr>';
$this->_getMenu($value['id'],$t);
}

}
}

------解决方案--------------------
那你就要判断当前父类下 所有栏目数是否等于本栏目位置(第几条),如果相等,则就是最后一条,就满足你的要求了
------解决方案--------------------
分类数组为 $data 则
end($data);
$ek = key($data); //之后一个分类在 $data 中的键值

循环中加入
if($key == $ek)  $this->str .= "<td>
------解决方案--------------------
____".$value['name']."</td>";