Alphabetical order? Help!
Posted: Sun Sep 15, 2002 5:21 am
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:\path\to\config.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 VALUE="01">Brescello</OPTION>
<OPTION VALUE="02">Aglianese</OPTION>
<OPTION VALUE="03">Casteldisangro</OPTION>
Problem is that I would like it alphabatized, like so:
<OPTION VALUE="02">Aglianese</OPTION>
<OPTION VALUE="01">Brescello</OPTION>
<OPTION VALUE="03">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:\path\to\config.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
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:\path\to\config.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 VALUE="01">Brescello</OPTION>
<OPTION VALUE="02">Aglianese</OPTION>
<OPTION VALUE="03">Casteldisangro</OPTION>
Problem is that I would like it alphabatized, like so:
<OPTION VALUE="02">Aglianese</OPTION>
<OPTION VALUE="01">Brescello</OPTION>
<OPTION VALUE="03">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:\path\to\config.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