Home >Backend Development >PHP Tutorial > php 多级领航显示

php 多级领航显示

WBOY
WBOYOriginal
2016-06-13 13:02:561221browse

php 多级导航显示

写一次,想一次...重新做一次...? 这回就放这了..以后用直接过来copy.

第一段代码

得到要显示的类别.

一级目录放在categories[0],

二级目录放在categories[1],

三级目录放在categories[2],

....以此类推

不过一般最多到3级就不再往下分了.

	$cpath = array();
	if(!empty($_REQUEST["parentId"])){
		//category path
		//get the category path
//put current category id in $cpath
		$current_category["parentId"] = $_REQUEST["parentId"];

// put parent category id in $cpath 		
do{
array_unshift($cpath,$current_category["parentId"]);
			$data_category = array(
				"id" => $current_category["parentId"]
			);
			$current_category = array();
			$current_category = pos($db_conn->search($db_category,$data_category));
		}while(!empty($current_category["parentId"]));
	}
	//add the first level category parentId
	array_unshift($cpath,"null");
	// get all categories
	$categories_level_count = sizeof($cpath);
	for($i=0;$i $cpath[$i]
		);
		//get first level categories
		$categories[$i] = $db_conn->search($db_category,$data_category);
//		echo $db_category->search($data_category)."";
	}





第二段代码是将菜单以

<ul>
 ?<li>
      <ul>
        ...
      </ul>
 ?</li>
</ul>



的形式显示菜单

			function show_left_navigation($i){
				global $categories,$cpath;
				if(empty($categories[$i]))
					return;
				echo '<ul>';
				foreach($categories[$i] as $id=>$category){
					echo '';
					if($id==end($cpath))
						echo '<a href="advancedSearch.php?parentId='.$id.'">'.$category["name"].'</a>';
					else
						echo '<a href="advancedSearch.php?parentId='.$id.'">'.$category["name"].'</a>';
					if(in_array($id,$cpath))
						show_left_navigation($i+1);
					echo '';
				}
				echo '</ul>'; 
			}
			show_left_navigation(0);

?

?

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn