17. maj 2003 - 00:22
Der er
31 kommentarer og 1 løsning
Liste poster fra mySQL db i system
Jeg skal ha listet en række personer med forskellig status. Ex.: Jens | Admin Jacob | Admin Claus | Webmaster Peter | Sælger Rasmus | Sælger Michael | Assistent Hvordan gør jeg det. Jeg har prøvet at sortere efter status, men den gør det jo bare alfabetisk. Nogen forslag ?
Annonceindlæg fra SuperOffice
Hvordan vil du ellers sortere når nu status f.eks. er Admin, det kan da ikke blive andet end alfabetisk.
Som det står oppe over: A W S A
Hvis den sorterede alfabetisk, ville det blive: A A S W
Hvad er årsagen til at du vil ha' sorteret sådan: A W S A ??
Det er at nogle personer med en status skal stå nederst og nogle øverst. Er det en helt umulig opgave ?
ja, men hvordan er logikken i sorteringen?
Hvad mener du ? De skal bare soteres i status 'blokke' i den rækkefølge
Ja, men hvor er logikken i denne sortering: A W S A Hvorfor står det sidste A ligepludselig nederst?
Fordi assistenter skal nederst
Du kan evt. give statuserne numre og så sortere dem... A: 1 W: 2 S: 3 A: 4 og så sortere efter det...
Er det så ikke bare, at sortere det efter id?
Nope, fordi folk skal kunne tilføjes, men den med tallene er en mulighed
Du kan bare lave status om til et int felt og så kan du lave en if med: if($row['status'] == 1) $status = "Admin"; elseif($row['status'] == 2) $status = "Webmaster"; osv.....
Det prøver jeg lige i morgen Er for træt til mere nu, men tak for hjælpen indtil videre Det værste er at jeg skal ændre hele db'en :(
Ja jeg er også træt :D Hvorfor skal du ændre hele db'en?
fordi der er en masse folk i, og deres status skal så ændre til tal
nååå... hvor mange er det sådan ca.?
45 stk tror jeg, men kan vel bare lave et dumb til en fil, og bruge 'søg og erstat'
mysql_query("UPDATE tabel SET status=1 WHERE status='Admin'"); Så skulle den gerne opdatere for dig
så skal du selvfølgelig også lave en til de andre.
... og husk at lave feltet til int :D
eller hvis der er en mindre type til tal.. ved ikke om der er kender ikke så meget til de der mysql typer :D
tinyint mener jeg der er en der hedder, men er det så vigtigt ? stort set alle mine felter er text. gør det den langsommere ?
Tror jeg ikke... kan jo egentlig også være lige meget om status stadig var en varchar for man kan jo godt smide tal i en text... :D
ellers: mysql_query("SELECT * FROM personer ORDER BY status, navn");
glem ovenstående. det ville ikke ændre rækkefølgen af AASW
Hvis admin=1, webmaster=2, sælger=3, assistent=4 kan du fint bruge ovenstående. eller du kan dele det op: mysql_query("SELECT * FROM personer WHERE status='1' ORDER BY navn"); echo "Admins: "; dit while loop her. mysql_query("SELECT * FROM personer WHERE status='2' ORDER BY navn"); echo "Webmasters: "; dit while loop her. osv. osv.
Jeg har levet, men ellers tak
20. juni 2003 - 18:28
#32
Lukker
Vi tilbyder markedets bedste kurser inden for webudvikling