christdi Skrevet 16. mai 2005 Del Skrevet 16. mai 2005 (endret) 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 18. mai 2005 av christdi Lenke til kommentar
Lokaltog Skrevet 16. mai 2005 Del Skrevet 16. mai 2005 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
christdi Skrevet 16. mai 2005 Forfatter Del Skrevet 16. mai 2005 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
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå