Gå til innhold

Problemer med sorterings funksjon


Anbefalte innlegg

Jeg prøver å sortere en array etter overskriftene i en tabell. Fuksjonen jeg har laget sorterer kun første kolonne. Jeg trenger en funksjon som gjør at brukeren kan klikke på overskriftene lastname eller firstname og få sortert innholdet.

På forhånd takk.

 

<?  
echo "<table border=1 cellpadding=4 cellspacing=0>";  

$heading = array('lastname','firstname');  
echo "<tr>";  
foreach($heading as $value) {  
echo "<td><a href=".$_SERVER['PHP_SELF']."?sorting=$value>".ucfirst($value)."</td>";  
}  
echo "</tr>";  

function sorting($a, $b) {  
if ($a == $b) return 0;  
else return ($a > $b);  
}  

$array = array (  
"Olsson" => "Andrew",  
"Gustavsson" => "Paul",  
"Anderson" => "Morten",  
"Hansen" => "Hanna",  
"Carlton" => "Maria",  
"Henriksen" => "Mona",  
"Tangstad" => "Tina"  
);  
uksort($array,'sorting');  

foreach ($array as $lastname => $firstname) {  
print "<tr><td>$lastname</td><td>$firstname</td></tr>";  
}  

echo "</table>";  
?>

Endret av christdi
Lenke til kommentar
Videoannonse
Annonse

For det første ser det ut som om du bruker mange unødvendige funksjoner (f.eks. kunne preg_split vært byttet ut med en mye minde ressursintensiv funksjon). Og for det andre; hva er det som skjer feil med scriptet? Kan du beskrive problemet litt mer, kanskje også legge ut et eksempel på tekstfilen som skal sorteres?

Lenke til kommentar

Problemet er at når jeg klikker på fornavn eller etternavn øverst i tabellen, så skjer det ingen ting. Fornav eller etternavn blir ikke sortert i rekkefølge.

 

Tekstfilen ser slikt ut :

 

Hansen;John;

Nilssen;Per;

Olsen;Ola

Andersen;Anders;

Nansen;Nina;

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...