无限分类类实现可折叠导航实例(推荐)

废话不多说,直接贴代码。环境thinkPHP类似产品

 

1,数据库

  

 

2,函数

  

function get_str($id = 0) {
	global $str;
	$m = M("Category","sp_","DB_CONFIG1");
	$result = $m->where(array("pid"=>$id))->select();//查询pid的子类的分类
	if($result){//如果有子类
		$str .= '<ul>';
		foreach ($result as $row){
		$str .= "<li>" .$row['name'] . "</li>"; //构建字符串
		get_str($row['id']); //调用get_str(),将记录集中的id参数传入函数中,继续查询下级
		}
		$str .= '</ul>';
		}
		return $str;
		}

 

3,调用过程

  3-1 控制器里面:

	function index() {
		$str = get_str();
		$this->assign("str",$str);
        $this->display();
    }

  3-2 模板里面:

  

    <div id="mymenu">
          {$str}
      </div>

 

4,jquery控制折叠效果:

  

$(document).ready(function()
		   {
		    $("#mymenu ul li").next("ul").hide();
		    $("#mymenu ul li").click(function()
		    {
		     $(this).next("ul").toggle();
		    });
		   });

 


   

 

5,显示结果

  

我们查看HTML怎么显示的:

  

posted @ 2015-03-21 13:39  dsczs  阅读(208)  评论(0)    收藏  举报