Heim  >  Artikel  >  Backend-Entwicklung  >  php 多级领航显示

php 多级领航显示

WBOY
WBOYOriginal
2016-06-13 13:02:561192Durchsuche

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);

?

?

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn