[PHP][MySQL] Sorteren op 2 velden

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • GewoonNico
  • Registratie: April 2003
  • Laatst online: 15-09 23:41
Hallo,

ik wil in een query op 2 velden sorteren. Het 1e veld moet DESC zijn en het 2e veld ASC

hoe doe ik dit?
Mijn query

code:
1
$messagesq = mysql_query("SELECT * FROM user_messages WHERE mssgto='$user->username' AND type='sms' AND box='$_GET[box]' ORDER BY 'time' DESC,mssgread ASC") or die(mysql_error());


Maar dit werkt niet,
ik krijg ook geen error

[ Voor 25% gewijzigd door GewoonNico op 11-05-2003 10:26 . Reden: ubb code ]


Acties:
  • 0 Henk 'm!

  • Xenon
  • Registratie: Januari 2001
  • Laatst online: 21-08 09:12
doe eens wat debugging, echo '$user->username' eens om te kijken dat deze zeker niet leeg is of zo

ProtocoLAN.be: De beste LAN van de Maaskant


Acties:
  • 0 Henk 'm!

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

order by veld1 desc, veld2 asc
gewoon dus.
ergo: er is iets anders mis.

Waarom staat je veld 'time' tussen quotjes?

[ Voor 67% gewijzigd door justmental op 11-05-2003 10:28 ]

Who is John Galt?


Acties:
  • 0 Henk 'm!

  • GewoonNico
  • Registratie: April 2003
  • Laatst online: 15-09 23:41
Xenon schreef op 11 mei 2003 @ 10:26:
doe eens wat debugging, echo '$user->username' eens om te kijken dat deze zeker niet leeg is of zo
Voor de rest werkt het zeker

De bedoeling is om de niet gelezen berichten (mssgread='no') Bovenaan de lijst te krijgen gesorteerd op datum(time)
en vervolgens de wel gelezen berichten (mssgread='yes') ook weer te sorteren op datum

Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 08:43
justmental schreef op 11 mei 2003 @ 10:27:

Waarom staat je veld 'time' tussen quotjes?
daarnaast is een veld 'time' noemen nog niet echt netjes...

|>


Acties:
  • 0 Henk 'm!

  • Atari Paul
  • Registratie: November 2002
  • Laatst online: 22:45
Hmm, haal ten eerste eens die single quotes (') weg die om het veld time staan.
code:
1
$messagesq = mysql_query("SELECT * FROM user_messages WHERE mssgto='$user->username' AND type='sms' AND box='$_GET[box]' ORDER BY time DESC,mssgread ASC") or die(mysql_error());


TIP: de query werkt sneller als je elk veld dat je terug wilt krijgen apart vernoemd ipv *.

Stability ?? My Atari still has it :)


Acties:
  • 0 Henk 'm!

  • GewoonNico
  • Registratie: April 2003
  • Laatst online: 15-09 23:41
Simon schreef op 11 mei 2003 @ 10:29:
[...]

daarnaast is een veld 'time' noemen nog niet echt netjes...
Ik heb er al date van gemaakt. Ik weet zelf ook niet waarom ik het 'time' heb genoemd

Maargoed,
eventjes weer ontopic...

Ik heb mijn query eventjes opgeschoond...
code:
1
$messagesq = mysql_query("SELECT * FROM user_messages WHERE mssgto='$user->username' AND type='sms' AND box='$_GET[box]' ORDER BY date DESC,mssgread ASC") or die(mysql_error());

Werkt in ieder geval niet,
er wordt nu ASC gesorteerd op date en mssgread

Acties:
  • 0 Henk 'm!

  • GewoonNico
  • Registratie: April 2003
  • Laatst online: 15-09 23:41
Atari Paul schreef op 11 mei 2003 @ 10:33:
Hmm, haal ten eerste eens die single quotes (') weg die om het veld time staan.
code:
1
$messagesq = mysql_query("SELECT * FROM user_messages WHERE mssgto='$user->username' AND type='sms' AND box='$_GET[box]' ORDER BY time DESC,mssgread ASC") or die(mysql_error());


TIP: de query werkt sneller als je elk veld dat je terug wilt krijgen apart vernoemd ipv *.
Quotes zijn weg,
ik heb alle velden nodig vandaar *

[ Voor 7% gewijzigd door GewoonNico op 11-05-2003 10:37 . Reden: typefout ]


Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 08:43
partypas schreef op 11 mei 2003 @ 10:36:
[...]


Ik heb er al date van gemaakt. Ik weet zelf ook niet waarom ik het 'time' heb genoemd
offtopic:
nog 1 keertje offtopic, date is ook niet zo netjes...

|>


Acties:
  • 0 Henk 'm!

Verwijderd

TIP: de query werkt sneller als je elk veld dat je terug wilt krijgen apart vernoemd ipv *.
ook als je alle velden van de row nodig hebt? (ff vragie tussen door vroeg me dat dus af)

Acties:
  • 0 Henk 'm!

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 16-08 17:16
Volgens mij moet je de velden omdraaien in de ORDER BY, anders sorteert hij eerst op datum (en/of tijd) en dan pas op gelezen/ongelezen.

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


Acties:
  • 0 Henk 'm!

  • GewoonNico
  • Registratie: April 2003
  • Laatst online: 15-09 23:41
bigtree schreef op 11 May 2003 @ 10:38:
Volgens mij moet je de velden omdraaien in de ORDER BY, anders sorteert hij eerst op datum (en/of tijd) en dan pas op gelezen/ongelezen.
THANX!
dit was het probleem

De query:

code:
1
$messagesq = mysql_query("SELECT * FROM user_messages WHERE mssgto='$user->username' AND type='sms' AND box='$_GET[box]' ORDER BY mssgread ASC, date DESC") or die(mysql_error());

Acties:
  • 0 Henk 'm!

  • GewoonNico
  • Registratie: April 2003
  • Laatst online: 15-09 23:41
Simon schreef op 11 mei 2003 @ 10:37:
[...]

offtopic:
nog 1 keertje offtopic, date is ook niet zo netjes...
Wat is dan wel netjes?

Acties:
  • 0 Henk 'm!

  • bigtree
  • Registratie: Oktober 2000
  • Laatst online: 16-08 17:16

Lekker woordenboek, als je niet eens weet dat vandalen met een 'n' is.


Acties:
  • 0 Henk 'm!

  • Atari Paul
  • Registratie: November 2002
  • Laatst online: 22:45
TIP: de query werkt sneller als je elk veld dat je terug wilt krijgen apart vernoemd ipv *.

ook als je alle velden van de row nodig hebt? (ff vragie tussen door vroeg me dat dus af)
Ja, ff zoeken....is in het volgende topic ooit al eens getest:
[rml]D2k in "[ php?] Benchmark topic"[/rml]

Stability ?? My Atari still has it :)

Pagina: 1