login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[mysql] Sorteren

Offline stenno - 05/11/2005 15:59 (laatste wijziging 05/11/2005 18:36)
Avatar van stennoPHP interesse Beste sitemasters,

Ik heb een table met kolomen ik wil nu dat gebruikers via die kolomen kunnen sorteren.

Dus als ze de 1ste keer op nickname sorteren word te tabel op nickname en van A-Z gesorteerd. En als ze de 2e keer op nickname klikken dat nickname van Z-A wordt gesorteerd.

Hoe doe ik dit ??

Dit heb ik al:

  1. <form name="form1">
  2. <center>
  3. <table width="650" border="1" bordercolor="" style="border-collapse:collapse;" cellpadding="3" cellspacing="0">
  4. <tr bgcolor="darkblue">
  5. <th><a class="type1" href="Text1.php?sortby=id">#</a></th>
  6. <th><a class="type1" href="Text1.php?sortby=nickname">Nickname</a></th>
  7. <th><a class="type1" href="Text1.php?sortby=rank">Rank</a></th>
  8. <th><a class="type1" href="Text1.php?sortby=sentry">Sentry rating</a></th>
  9. <th><a class="type1" href="Text1.php?sortby=spy">Spy rating</a></th>
  10. <th><a class="type1" href="Text1.php?sortby=reason">Reason</a></th>
  11. <?php
  12. $array = array('id','nickname','rank','sentry','spy','reason');
  13. if(isset($_GET['sortby']))
  14. {
  15. $sorteer = (in_array($_GET['sortby'],$array)) ? $_GET['sortby'] : 'id';
  16. }
  17. else
  18. {
  19. $sorteer = 'id';
  20. }
  21. $res = mysql_query("SELECT id,nickname,rank,sentry,spy,reason,spylink FROM targets ORDER BY ".$sorteer);
  22. while($obj=mysql_fetch_assoc($res))
  23. {
  24. ?>
  25. <tr>
  26. <td><?=$obj['id']?></td>
  27. <td><a class="type1"href="<?=$obj['spylink'];?>"><?=$obj['nickname'];?></a></td>
  28. <td name="test"><?=$obj['rank']?></td>
  29. <td name="test"><?=$obj['sentry']?></td>
  30. <td name="test"><?=$obj['spy']?></td>
  31. <td><?=$obj['reason']?></td>
  32. </tr>
  33. <?php
  34. }
  35. ?>
  36. </table>
  37. </center>
  38. </form>
  39.  
  40. Inspringen, wat is dat?


Ik hoop dat ik duidelijk genoeg ben ^^

edit1) Blijkbaar niet!!

Bijv:
____________________
| ID | Nickname| Rank |
| 1 | Stenno | 3000 |
| 2 | Arquero | 1000 |

ID,Nickname en Rank zijn links.

Dus iemand klikt op Nickname dan soorteert hij de table op nickname en kom Arquero dus boven aan te staan. Dus hij sorteert van A-Z of te wel ASC.

Als iemand nog een keer op Nickname klikt dan moet de tabel gesoorteert worden op Nickname maar dan van Z-A of te wel DESC

Weet iemand hoe dat moet ??

4 antwoorden

Gesponsorde links
Offline Thomas - 05/11/2005 18:40
Avatar van Thomas Moderator Je moet dat via $_GET (of $_SESSION of $_COOKIE) bijhouden wat het (en of er een) sorteer-criterium is, en of deze op- of aflopend dient te zijn.

Als er een sorteercriterium is geselecteerd, moet je de link met hetzelfde sorteercriterium omdraaien. Per link geef je dus het criterium aan, en de (default) rangschikking.



Offline Ibrahim - 05/11/2005 20:48
Avatar van Ibrahim PHP expert om je vraag te beantwoorden van "Inspringen, wat is dat?"

Inspringen is de tab/spatiebalk te gebruiken om je code overzichtelijk te maken. Zo kun je o.a. zien of je een ; bent vergeten. Er is hier een tutorial op deze site die je leert netjes te scripten 
Offline Thomas - 05/11/2005 20:54
Avatar van Thomas Moderator omfg... WIE denk je dat die opmerking heeft toegevoegd?
Offline Ibrahim - 05/11/2005 22:50 (laatste wijziging 05/11/2005 22:54)
Avatar van Ibrahim PHP expert ik dacht dat hij dat vroeg, maar sorry
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.183s