Avatar billede php-nybegynderen Nybegynder
27. marts 2007 - 21:45 Der er 17 kommentarer og
1 løsning

ORDER by problem!

$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 farving Nybegynder
27. marts 2007 - 21:56 #1
Er den DESC eller ASC pt?

For, for mig at se sorterer den på de rigtige, den har bare vendt dem om...

Mvh Carsten
Avatar billede php-nybegynderen Nybegynder
27. marts 2007 - 22:00 #2
DESC
Avatar billede php-nybegynderen Nybegynder
27. marts 2007 - 22:01 #3
Har lige et bonusspørgsmål:

$query = mysql_query("SELECT * FROM liga ORDER by point,result DESC");
    while($liga = mysql_fetch_array($query)) {
    if (mysql_num_rows($query) <= 3)

Bør den ikke udskrive de 3 første rækker?
Avatar billede php-nybegynderen Nybegynder
27. marts 2007 - 22:20 #4
Carsten > Troede jeg nemlig også, men når jeg sætter den til ASC, så sker der ikke den store ændring.. De 2 på 18 point bytter plads, det er alt!
Avatar billede farving Nybegynder
27. marts 2007 - 22:25 #5
Nej, den udskriver kun hvis der er 3 eller færre rækker...

Hva datatype er kolonnen point?

Mvh Carsten
Avatar billede php-nybegynderen Nybegynder
27. marts 2007 - 22:35 #6
vachar(5)
Avatar billede php-nybegynderen Nybegynder
27. marts 2007 - 22:37 #7
Jeg har lige sat alle (undtagen klan) til at være INT(11)
Avatar billede farving Nybegynder
27. marts 2007 - 23:04 #8
Og det ændrer ikke på noget?

Fordi det med varchar forklarer at den sortere en forekomst ad gangen dvs den starter med første tegn sorterer efter det... Så næste osv...

Med int burde den sortere efter hele tallet...

Mvh Carsten
Avatar billede dkfire Nybegynder
28. marts 2007 - 00:05 #9
Du skal altid have felter som int, når du ved at de kun kommer til at indeholde tal.
Avatar billede farving Nybegynder
28. marts 2007 - 10:57 #10
Det er ikke et must, men det er nok en uskreven regel...

Mvh Carsten
Avatar billede php-nybegynderen Nybegynder
28. marts 2007 - 15:11 #11
Det ændre bare ikke noget
Avatar billede michael_stim Ekspert
28. marts 2007 - 15:18 #12
$query = mysql_query("SELECT * FROM liga ORDER by point DESC,result DESC");
Avatar billede php-nybegynderen Nybegynder
28. marts 2007 - 15:33 #13
Jeg siger tak :)

Point til dig..

Gider du evt. svare mig på, hvordan jeg trækker de første 3 rækker ud i en query og bagefter resten?
Avatar billede michael_stim Ekspert
28. marts 2007 - 15:49 #14
limit 3
limit 2,100
Avatar billede php-nybegynderen Nybegynder
28. marts 2007 - 15:53 #15
Tusind tak! :D Smid et svar
Avatar billede michael_stim Ekspert
28. marts 2007 - 16:03 #16
Samler ikke, ellers tak.

Istedet for at lave den i sqlforspørgelsen, havde jeg nok lavet den i php.
$i=0;

//inde i din while hvor du udtrækker dataen.
if($i>3){
//den ene farve
}
else{
//den anden farve
}
$i++;
Avatar billede php-nybegynderen Nybegynder
28. marts 2007 - 16:08 #17
Ok tak :)
Avatar billede php-nybegynderen Nybegynder
28. marts 2007 - 16:08 #18
God idé...
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