PHP query
Voor een vriend probeer ik nu een pagina te maken waarop hij kan zien wie de rijkste spelers zijn van zijn spel.
Daar heb ik nu de volgende query voor gebruikt. Alleen dat order by geeft geen antwoord terug. Weet iemand hoe ik dit kan oplossen. In de cel credits staan trouwens getallen zoals 994859 en is dus geen auto increment.
Code (php)
1
$result = mysql_query("SELECT * FROM users WHERE rank='1' AND rank='2' AND rank='3' ORDER BY 'credits' DESC LIMIT 0 , 1 ");
Iemand misschien een optie ?
Topic verplaatst naar het juiste board.[/modedit]
Gewijzigd op 19/02/2012 11:09:37 door Joren de Wit
Je kan er ook 3 queries van maken mocht het niet lukken.
dat moet inderdaad OR worden bedankt
En dan de limit waarschijnlijk niet 0,1 maar 0,3 (dan krijg je de top 3)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT
*
FROM
users
WHERE
rank='1'
AND
rank='2'
AND
rank='3'
ORDER BY
'credits'
DESC
LIMIT
0 , 1
*
FROM
users
WHERE
rank='1'
AND
rank='2'
AND
rank='3'
ORDER BY
'credits'
DESC
LIMIT
0 , 1
De fouten die ik hier zo even zie:
- getallen buiten quotes
- selecteer wat je wilt, gebruik geen *
- vertaal de query eens. Dit kan nooit. Want rank moet gelijk zijn aan 1 en aan 2 en aan 3, dat betekend dat Rank tijdens de query moet veranderen ofzo? Probeer anders zoiets:
Is de rank niet afhankelijk van het aantal credits? Als dat het geval is, is het vreemd dat je ook een kolom 'rank' in die tabel hebt staan. De rank zou je immers direct kunnen bepalen aan de hand van het aantal credits.
Dit is order bij de tekst credits.
Is credits een databaseveld, haal dan de quotes weg.
Santhe daar ben ik net achtergekomen , maar alsnog bedankt.