2 query-vragen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Maestro Roboroads

Maestro Roboroads

27/07/2010 04:05:18
Quote Anchor link
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?
$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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?
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
Gewijzigd op 27/07/2010 04:20:34 door Maestro Roboroads
 
PHP hulp

PHP hulp

24/11/2024 06:20:08
 
Bart V B

Bart V B

27/07/2010 07:42:36
Quote Anchor link
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?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?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 />';
}


?>
Gewijzigd op 27/07/2010 07:51:41 door Bart V B
 
Maestro Roboroads

Maestro Roboroads

27/07/2010 14:44:32
Quote Anchor link
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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.