Solved

PHP function not sorting from A-Z across the menu for the links in my pages

Posted on 2008-06-14
2
155 Views
Last Modified: 2011-10-19
Hi guys hope u are well and can assist.

I have the following function which grabs a list of filenames and creates links out of them to build a menu system.
The problem I have as you can see in the screen dump is that the links are not being displayed alphabetically eg.A - Z from left to right.
For example, in row 2, "auditing" is seen way to the right when it should be where "hware" is.

If someone can help me with the below function, which I think is causing this, through not having a sorting facility, id very much appreciate it.
Thank you.


In my php pages, the function gets called as follows....

<div id="menu2_div">
      <ul id="menu2_ul">
            <?php echo menu2_navlinks($menu2_pages, $menu2_current_page); ?>                
      </ul>      
</div>

function menu2_navlinks($menu2_pages, $menu2_current_page){
	foreach ($menu2_pages as $menu2_pagename=>$url) {
//$menu2_navlinks = '';
 
						/*	............................................................
							Test to see if the link's url is the same as the current 
							page variable against the current page.
							If they're the same - set the class to current_link
							..........................................................*/	
							
		if	($url==$menu2_current_page){
			$menu2_class='menu2_current_link';
			$menu2_style="<span class=\"$menu2_class\">";
			$menu2_end_style='</span>'; 
		}	
		else {  //otherwise leave the class blank
				$menu2_style='';
				$menu2_end_style='';
		}						 
						/*	............................................................
							As the loop runs, it will add each link based on whether or 
							not it's the current page
							..........................................................*/	
										
		$menu2_navlinks.="<li>$menu2_style<a href=\"$url\">$menu2_pagename</a>$menu2_end_style  | </li>\n";
	}
	return $menu2_navlinks;
	
							// End the function ... 		
}

Open in new window

links-in-menu2-not-sorted-A-Z-le.bmp
0
Comment
Question by:Simon336697
2 Comments
 
LVL 142

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 500 total points
ID: 21785877
before:
foreach ($menu2_pages as $menu2_pagename=>$url) {
put this line (will sort by the url:
asort($menu2_pages);
or this (will sort by page name):
ksort($menu2_pages);
0
 
LVL 1

Author Comment

by:Simon336697
ID: 21787303
Hi angellll,

asort works!!!!!

Thank you mate...champion as always.

S
0

Featured Post

Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article will explain how to display the first page of your Microsoft Word documents (e.g. .doc, .docx, etc...) as images in a web page programatically. I have scoured the web on a way to do this unsuccessfully. The goal is to produce something …
Build an array called $myWeek which will hold the array elements Today, Yesterday and then builds up the rest of the week by the name of the day going back 1 week.   (CODE) (CODE) Then you just need to pass your date to the function. If i…
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question