Hallo,

Even een kort vraagje,
Ik maak een soort top 10 pagina voor een spel.

ik heb nu een code, maar ik gebruik 10 mysqlquerys, en ik ben er zeker van dat dit korter kan.

Ik heb nu dus dit:
<?
$ttr1 = mysql_query("SELECT naam,punten FROM accounts ORDER BY punten DESC LIMIT 0,1");
$ttr2 = mysql_query("SELECT naam,punten FROM accounts ORDER BY punten DESC LIMIT 1,1");
$ttr3 = mysql_query("SELECT naam,punten FROM accounts ORDER BY punten DESC LIMIT 2,1");
$ttr4 = mysql_query("SELECT naam,punten FROM accounts ORDER BY punten DESC LIMIT 3,1");
$ttr5 = mysql_query("SELECT naam,punten FROM accounts ORDER BY punten DESC LIMIT 4,1");
$ttr6 = mysql_query("SELECT naam,punten FROM accounts ORDER BY punten DESC LIMIT 5,1");
$ttr7 = mysql_query("SELECT naam,punten FROM accounts ORDER BY punten DESC LIMIT 6,1");
$ttr8 = mysql_query("SELECT naam,punten FROM accounts ORDER BY punten DESC LIMIT 7,1");
$ttr9 = mysql_query("SELECT naam,punten FROM accounts ORDER BY punten DESC LIMIT 8,1");
$ttr10 = mysql_query("SELECT naam,punten FROM accounts ORDER BY punten DESC LIMIT 9,1");

$tt1 = mysql_fetch_assoc($ttr1);
$tt2 = mysql_fetch_assoc($ttr2);
$tt3 = mysql_fetch_assoc($ttr3);
$tt4 = mysql_fetch_assoc($ttr4);
$tt5 = mysql_fetch_assoc($ttr5);
$tt6 = mysql_fetch_assoc($ttr6);
$tt7 = mysql_fetch_assoc($ttr7);
$tt8 = mysql_fetch_assoc($ttr8);
$tt9 = mysql_fetch_assoc($ttr9);
$tt10 = mysql_fetch_assoc($ttr10);
?>

Ik gebruik bij deze geen while, omdat er getalletjes voor moeten komen te staan.
Mijn principe is op dip moment oneveer dit:
<?
echo'
1. '.$tt1['naam'].', '.$tt1['punten'].'<br>
2. '.$tt2['naam'].', '.$tt2['punten'].'<br>
';
# en ga zo maar door.
?>

Kan dit korter naar 1 Mysql_query?
En wat moet ik dan neerzetten in plaats van mysql_fetch_assoc, en in plaats van $tt1['naam'], $tt2['naam'], etc.

En ik heb ook een 2e vraag.
Is er een mogelijkheid op een mysql query met select eruit te halen op welk rijnummer het gevonden resultaat staat..?
Stel ik heb dit:
id | naam
-------------
1 | Ro
3 | Bo
2 | Ra
kan ik dan met een query eruithalen dat Ra op rij 2 staat (met order by ID desc)
(misschien een beetje vaag, zeg dat dan, dan probeer ik het anders te formuleren)

Robbin
Ja dit kan veeeeel simpeler ;)
Die nummering kan je automatisch doen. php kan ook tellen tegenwoordig.
Met ++ in een loop zal hij net zo lang optellen totdat het limiet van 10 is bereikt in dit geval.

Vraag 2 is mij een beetje onduidelijk wat je wil bereiken. Als je hem wil selecteren op het id, dan kan je er toch een hyperlink van maken met een id erin?


<?php

$sql = "SELECT naam,
               punten 
			   FROM 
			   accounts
			   ORDER 
			   BY 
			   punten 
			   DESC 
			   LIMIT 10";
			   
$result = mysql_query($sql);

$i = 1;

while($row = mysql_fetch_assoc($result))
{
	echo $i++. ' | '. $row['naam']. ' heeft '.$row['punten'].'<br />';
}

?>
Bart, Alvast heel erg bedankt voor je reactie,
Dat met ++ wits ik nog niet.

Wat ik bedoel met mn 2e vraag, even duidelijker:
Stel, Ik ben een tabel:
naam | punten
Ro | 10
bart| 40
mark | 20
En met een mysql_query met "ORDER BY punten DESC" zorg is tat ze worden gesorteerd op punten.
kan ik in dezelfde query ies neerzetten dat mij kan weergeven op de hoeveelste rij bijvoorbeeld Mark staat?

Het is de bedoeling dat iemand zijn rank kan zien op de home page, Dat hij kan zien op hoeveelste plaats in de topscore hij staat

Reageren