login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[php] Sorteren tabellen

Offline stenno - 10/01/2006 18:09
Avatar van stennoPHP interesse
Is het in PHP (ZONDER MYSQL) mogelijk om tabellen te sorteren op kolom ??

Zo ja hoe ??

9 antwoorden

Gesponsorde links
Offline haytjes - 10/01/2006 18:13 (laatste wijziging 10/01/2006 18:16)
Avatar van haytjes Gouden medailleGouden medaille

JS gevorderde
ja, dit is mogelijk, als je de kolommen in een array zet en dan de array sorteert.

Meer info:
PHP.net: sort
overzicht: sort()

in het overzicht staat ook een voorbeeld.
Offline stenno - 10/01/2006 18:21 (laatste wijziging 10/01/2006 18:24)
Avatar van stenno PHP interesse Ja maar hoe doe je dat dan bij bijv deze foreach loop ??

  1. <?
  2. if( count( $aResults ) > 0 ){
  3. foreach( $aResults as $iResult ){
  4.  
  5. echo "<tr><td><a href=\"http://www.kingsofchaos.com/stats.php?id=".$aMatches[1][$iResult]."\" class=\"type3\" target=\"_blank\">".$aMatches[2][$iResult]."</a></td><td name=\"result\">".$aMatches[3][$iResult]."</td><td>".$aMatches[4][$iResult]."</td><td name=\"result\">".$aMatches[5][$iResult]."</td><td>".$aMatches[6][$iResult]."</td><td name=\"result\">".$mingold."</td><td name=\"result\">".$maxgold."</td></tr>\n";
  6.  
  7. }
  8. }
  9. ?>



Want als ik op naam sorteer wil ik wel graag dat de andere gegevens bij die naam (andere velden van die rij) er ook bij blijven
Offline Dolfje - 10/01/2006 18:22
Avatar van Dolfje Gouden medailleGouden medailleGouden medaille

PHP ver gevorderde
zoals haytjes het zegt, lees de beschrijving van sort().
Offline stenno - 11/01/2006 16:58
Avatar van stenno PHP interesse
Ja ik heb alles nu goed een keer bekeken, maar ik kan echt niets vinden over hele tabellen sorteren, Wel gewoon array's maar niet sub array's.

Kan iemand me dan misschien helpen ??
Offline nemesiskoen - 11/01/2006 17:20 (laatste wijziging 11/01/2006 17:20)
Avatar van nemesiskoen Gouden medaille

PHP expert
Hier heb ik een of andere zieke sortering gedaan maar het gaat echt beter/sneller met mysql.
http://www.site...amp;id=799

Als je niet teveel kolommen hebt dan is het nog doenbaar... waarom mag het niet met een query? Lees je alles uit tekstbestandjes?
Offline stenno - 11/01/2006 18:06 (laatste wijziging 11/01/2006 18:06)
Avatar van stenno PHP interesse Ik pregmatch() het in een array  
Offline haytjes - 11/01/2006 18:09 (laatste wijziging 11/01/2006 18:09)
Avatar van haytjes Gouden medailleGouden medaille

JS gevorderde
wil je een keer een vb met gegevens geven. Hoe het voor de functie en hoe het na de functie eruit moet zien?

want ik weet dat het kan, maar 'k weet niet hoe je het precies bedoelt
(tip: Google.be: multidimensional array sorteren)
Offline stenno - 11/01/2006 20:18
Avatar van stenno PHP interesse
Tja zo'n beetje alle tabellen kan je als voorbeeld gebruiken, neem bijv je tabellen in php admin daar kan je ook op id en username enz. sorteren.
Offline haytjes - 11/01/2006 22:34 (laatste wijziging 11/01/2006 22:47)
Avatar van haytjes Gouden medailleGouden medaille

JS gevorderde
  1. <?
  2. function sorteer($arr,$waarop,$asc)
  3. {
  4. $sort = "\$arr[\"".$waarop."\"],".(($asc=="desc")?"SORT_DESC":"SORT_ASC");
  5.  
  6. foreach($arr as $key => $value)
  7. {
  8. if($key != $waarop)
  9. {
  10. $sort .= ",\$arr[\"".$key."\"]";
  11. }
  12. }
  13. eval("array_multisort(".$sort.");");
  14. return $arr;
  15. }
  16. ?>


gebruik:
  1. <?
  2. /* gegevens */
  3. $geg = Array();
  4. $geg["id"] = Array(1,2,3,4,5);
  5. $geg["naam"] = Array("name1","name2","name3","name4","name5");
  6. $geg["value"] = Array("roos","maan","vis","aap","vogel");
  7.  
  8. print_r(sorteer($geg,"value","asc")); // arr '$geg' sorteren op 'value' (asc)
  9. /* output:
  10. Array
  11. (
  12.   [id] => Array
  13.   (
  14.   [0] => 4
  15.   [1] => 2
  16.   [2] => 1
  17.   [3] => 3
  18.   [4] => 5
  19.   )
  20.   [naam] => Array
  21.   (
  22.   [0] => name4
  23.   [1] => name2
  24.   [2] => name1
  25.   [3] => name3
  26.   [4] => name5
  27.   )
  28.   [value] => Array
  29.   (
  30.   [0] => aap
  31.   [1] => maan
  32.   [2] => roos
  33.   [3] => vis
  34.   [4] => vogel
  35.   )
  36. )
  37. */
  38. ?>


vlug een keer gescript

de clue is dus het gebruik van PHP.net: array_multisort.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.344s