Avatar billede php-nybegynderen Nybegynder
25. marts 2007 - 22:16 Der er 6 kommentarer og
1 løsning

ORDER by problem!

Jeg har lavet en lille tabel med en kampoversigt.

www.divinium.dk/xg

Det jeg har problemer med er, at lave 2 order by i samme query (grunden er at den først skal order by noget, og hvis det den order by er ens skal den order by noget andet)

<?

$query = mysql_query("SELECT * FROM liga ORDER by v*2+u, vr-tr DESC");
    while($liga = mysql_fetch_array($query)) {

?>

DEFINITIONER:

v*2+u:
v = vundne kampe
u = uafgjorte kampe

vr-tr:
vr = vundne runder
tr = tabte runder

---

Det betyder altså at den først skal order by v*2+u og derefter vr (som er henholdsvis point og vundne runder MINUS tabte runder)
Avatar billede php-nybegynderen Nybegynder
25. marts 2007 - 22:20 #1
Det er lidt forvirrende det jeg har skrevet :P

Men først skal den sortere efter POINTS

Hvis POINTS er det samme for nogen hold, skal den i de tilfælde sortere efter +RUNDER

POINTS = v*2+u
+RUNDER = vr-tr

(v*2+u = vundne kampe * 2point + uafgjorte kampe (* 1point))
(vr-tr = vundne runder - tabte runder)
Avatar billede simsevu Juniormester
26. marts 2007 - 10:12 #2
hmm idé..
lave en række i din table, der indeholder dataen fra +/- og gør det til en int()..
kald den evt results.

også bagefter ORDER by results DESC
Avatar billede php-nybegynderen Nybegynder
26. marts 2007 - 16:08 #3
Problemet er såmænd ikke at få de rigtige resultater frem, problemet er at lave 2 order by :p
Avatar billede algizoft Nybegynder
26. marts 2007 - 20:24 #4
Jeg har ikke testet det, men prøv dette.

SELECT *,(v*2+u) AS point, (vr-tr) AS runder FROM liga ORDER BY point, runder DESC
Avatar billede php-nybegynderen Nybegynder
27. marts 2007 - 21:32 #5
simsevu > Det besvarer ikke spørgsmålet :/

algizoft > Virker ikke..


----

Nu har jeg lavet rækkerne i tabellen.. Så point = point og runder = results

$query = mysql_query("SELECT * FROM liga ORDER by point,result DESC");

Den her sorterer dog ikke rigtigt..

www.divinium.dk/xg

Og når jeg skriver ASC kommer det bare i en lidt anden rækkefølge.. Så det virker ikke ordentligt, nogen der kan løse det?
Avatar billede php-nybegynderen Nybegynder
27. marts 2007 - 21:44 #6
sd
Avatar billede algizoft Nybegynder
27. marts 2007 - 22:08 #7
Du mangler da en DESC så jeg lige

SELECT * FROM liga ORDER by point DESC,result DESC
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester