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

废话不多说,直接贴代码。环境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怎么显示的:

  

你可能感兴趣的:(实例)