树形无限极分类下拉框选项
protected $_nodeSelect;
//生成树形无限极分类下拉框选项
protected function _tree($array, $parentId=0, $tmp="", $pid=0, $path=""){
$tmp .= " ";
$path .= $pid ? $pid . "-" : "";
for($i=0; $i<count($array); $i++){
if($array[$i]["pid"] == $pid){
$this->_nodeSelect .= "<option value="".$array[$i]["id"]."" data-path="". $path . $array[$i]["id"] .""";
if($parentId == $array[$i]["id"]){
$this->_nodeSelect .= " selected="selected"";
}
$this->_nodeSelect .= ">".$tmp."|--".$array[$i]["name"]."</option>";
$this->_tree($array, $parentId, $tmp, $array[$i]["id"], $path);
}
}
}
//此方法待完善
function tree($id=0,$xt=array(),$r=0){
$list = M("");
$classify = $list->where(array("parent_id"=>$id,))->select();
foreach((array)$classify as $k=>$v){
for($i=0;$i<$r;$i++){
$v["name"]="<span style="color:red;"> ├</span>".$v["name"];
}
$xt[]=$v;
$xt=tree($v["id"],$xt,$r+1);
}
return $xt;
}//递归生成树形多维数组
protected function tree($rows=array(), $parent_id=0) {
foreach($rows as $row){
if($row["parent_id"] == $parent_id){
$tmp = $this->tree($rows, $row["id"]);
if($tmp) $row["sub"] = $tmp;
$tree[] = $row;
}
}
return $tree;
}class Tool {
public $treeList = array(); //存放无限分类结果如果一页面有多个无限分类可以使用 Tool::$treeList = array(); 清空
/**
* 无限级分类
* @access public
* @param Array $data //数据库里获取的结果集
* @param Int $pid
* @param Int $count //第几级分类
* @return Array $treeList
*/
public function tree(&$data, $pid = 0, $count = 0)
{
foreach ($data as $key => $item)
{
if($item["parent_id"] == $pid){
$item["count"] = $count;
$this->treeList[] = $item;
// unset($data[$key]);
$this->tree($data, $item["id"], $count + 1);
}
}
return $this->treeList;
}
}声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇: yii2 with的回调函数中参数使用
- 下一篇:没有了
