login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[SQL] Ordenenen Ledenlijst

Offline delta_004 - 17/12/2006 10:07
Avatar van delta_004Onbekend Hallo Allemaal:D

Ik zit vast:D. Ik heb een Query
  1. $sql = mysql_query("SELECT * FROM TblLeden WHERE activatie='1'") or die(mysql_error());

Dit haalt alle leden eruit die geactiveerd zijn. Er is ook een Veld Status hierin staan alle statusen zoals: Eigenaar, Beheerder, S Mod, Mod. Hoe kan ik ervoor zorgen dat die op die volgorde weergeven worden in mijn While

Alvast Bedankt

9 antwoorden

Gesponsorde links
Offline timo - 17/12/2006 10:22
Avatar van timo PHP ver gevorderde maak ook een veld intStatus oid en doe het dan zo:
0=gebanned
1=mod
2=s mod
3=beheerder
4=eigenaar
dan kan je ORDER BY intStatus doen..
Offline delta_004 - 17/12/2006 18:47
Avatar van delta_004 Onbekend Dat wil ik niet:)
Offline Chupskie - 17/12/2006 18:50 (laatste wijziging 17/12/2006 18:52)
Avatar van Chupskie MySQL beginner ORDER BY status ?  

  1. <?php
  2. $sql = mysql_query("
  3. SELECT *
  4. FROM TblLeden
  5. WHERE activatie='1'
  6. ORDER BY status
  7. ") or die(mysql_error());
  8. ?>


Succes
-Chupskie

edit: ik zie nu dat timo dit ook voor stelde:
"dan kan je ORDER BY intStatus doen.."

Maar ik denk dat delta_004, alleen gekeken heeft naar dat hij nog een kolom moest toevoegen. Dus, zover ik uit de tekst kan opmaken, is dit wat hij zoekt. Ik hoor het wel 
Offline nielsvdwal - 17/12/2006 18:51
Avatar van nielsvdwal PHP gevorderde je meent dat serieus chupskie?..
Offline Chupskie - 17/12/2006 18:54
Avatar van Chupskie MySQL beginner Ja hoe wil je dit anders oplossen nielsvdwal? als hij geen extra veld wil aanmaken, en zo simpel mogelijk wil sorteren op een kolom?

Dit basseer ik, op wat ik uit zijn tekst kan opmaken..!
Offline delta_004 - 17/12/2006 19:08
Avatar van delta_004 Onbekend Chupskie die intresse mag wel maar dan lees ff. Ik wil eerst de Beheerders dan Smod dan Mod. Ik wil een volgorde IN DE QUERY kunne vast leggen. Dat wat jij doet is gewoon order by status asc
Offline Chupskie - 17/12/2006 20:30
Avatar van Chupskie MySQL beginner Ja dan zul je toch ergens op moeten sorteren.
Oftewel een id's koppelen aan je namen. Van hoog naar laag.
En daar kun je daarna later op sorteren.
Dus je zult een extra kolom moeten maken, waarin je de id's van je rangen in op slaat. Anders is dit niet mogelijk.

Succes
-Chupskie
Offline marten - 17/12/2006 20:42
Avatar van marten Beheerder Delta, mag ik vragen wat soort veld die status is? Is dat een varchar of een enum of .....
Offline xSc - 18/12/2006 13:14 (laatste wijziging 18/12/2006 13:14)
Avatar van xSc Onbekend Statussen in aparte tabel en dan status_id (int) in deze tabel opnemen.

Of, als statussen 'nooit' wijzigen met CASE

SELECT naam, emailadres, CASE status_id WHEN 1 THEN 'Eigenaar' WHEN 2 THEN 'Iets anders' ELSE 'Niets' END AS status FROM tabel WHERE activatie = 1 ORDER BY status_id ASC

Bovenstaand is een voorbeeld natuurlijk.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.203s