|
|
|
| |||||||||
![]() |
|
|
«
Previous Thread
|
Next Thread
»
|
Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
|
|
Be the architects of evolution and help create the mobile internet future. It’s your move---enter to win here! |
|
#1
|
|||
|
|||
|
Alphabetical order? Help!
If you've read some of my earlier posts, you know I'm a newbie at PHP, so now im stuck at a point, and I'd like to see if anyone has a suggestion.
Ok, here is the problem...i have a text file on the server, and in it are listed lines like this: 01|Brescello|stadium|city| 02|Aglianese|stadium|city| 03|Casteldisangro|stadium|city| and the following code is part of a php file that creates a form. <SELECT NAME="home"> <?php include ("C:pathtoconfig.php"); $fd = fopen ($teams, "r"); while (!feof ($fd)) { $readlines = fgets($fd, 4096); $squads = explode("|", $readlines); if ($squads[1] == "Florentia Viola") { echo '<OPTION SELECTED VALUE="'.$squads[0].'">Florentia Viola</OPTION>'."n"; } else { echo '<OPTION VALUE="'.$squads[0].'">'.$squads[1].'</OPTION>'."n"; } } fclose ($fd); ?> </SELECT> What is does is create options in a dropdown menu. Right now the outputted HTML would be <OPTION>Brescello</OPTION> <OPTION>Aglianese</OPTION> <OPTION>Casteldisangro</OPTION> Problem is that I would like it alphabatized, like so: <OPTION>Aglianese</OPTION> <OPTION>Brescello</OPTION> <OPTION>Casteldisangro</OPTION> so aftter looking around a bit in the manual, I see this: <?php $order = array ($squads[1]); sort ($order); reset ($order); while (list ($key, $val) = each ($order)) { echo "order[".$key."] = ".$val."n"; ?> so the array $order is declared, then is sorted. To me that means that I have to declare each fruit in the array. In my array $squads in the example below [0] is id number [1] is team name [2] is stadium and [4] is city. I want to alphabatize only the team name i.e. $squads[1] then after the team name is alphabatized (sorted) then the if...else statement is run ... so this is what i tried <html> <body> <select> <?php include ("C:pathtoconfig.php"); $fd = fopen ($teams, "r"); while (!feof ($fd)) { $readlines = fgets($fd, 4096); $squads = explode("|", $readlines); $order = array ($squads[1]); sort ($order); reset ($order); while (list ($key, $val) = each ($order)) { if ($squads[1] == "Florentia Viola") { echo '<OPTION SELECTED VALUE="'.$squads[0].'">Florentia Viola</OPTION>'."n"; } else { echo '<OPTION VALUE="'.$squads[0].'">'.$squads[1].'</OPTION>'."n"; } } } fclose ($fd); ?> </html> </body> </select> I still get the same result as before. What am I doing wrong?? Thanks again -Tree |
|
#2
|
|||
|
|||
|
RE: Alphabetical order? Help!
i think it'd be much easier for you if you created a multi-demensional array as follows, and then had a look at the multi-sort function.
|
![]() |
| Viewing: Codewalkers Forums > PHP Related > PHP Coding > Alphabetical order? Help! |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|
|
|
|
|
|