kijk

ik kan in de database wedtrijden ingeven( zijn de namen + de punten).
nu wil ik per wedstrijd dat ik de top 9 op een pagina kan laten zien wie de 1ste staat en zo omlaag (met voornaam enachter naam en punten).

en op 1 pagina waar de top 20 opstaat van telkens 4 wedstrijden

kijk dit heb ik voor een voledige top 20 van alle wedstrijden nu .

<?php
$query = "SELECT CONCAT(a.voornaam,' ',a.achternaam) as naam, a.*, SUM(b.score) as score, count(b.score) as numScore
FROM players as a
LEFT JOIN games_players as b
ON a.id = b.player_id
GROUP BY naam ORDER BY score DESC LIMIT 20";
$res = mysql_query($query) or die(mysql_error());
$cnt=1;
while ($row = mysql_fetch_array($res))
{
?>
<p><em><strong><?=$cnt?>.</strong></em> <?=$row["naam"]?> <font color="#<?php
if ($cnt<4) echo "00FF00";
elseif ($cnt<7) echo "FFCC00";
elseif ($cnt < 10) echo "FF0000";
else echo "66ffff";
?>"><?=$row["score"]?> punten</font></p>
<?php
$cnt++;
}
?>
Wil je de top 9 ipv de top laten zien?
verander LIMIT 20 in LIMIT 9

Kun je het iets duidelijker uitleggen?
nu wil ik per wedstrijd dat ik de top 9 op een pagina kan laten zien wie de 1ste staat en zo omlaag (met voornaam enachter naam en punten).

en op 1 pagina waar de top 20 opstaat van telkens 4 wedstrijden
In beide gevallen zul je nog een WHERE clausule op moeten nemen waarin je de betreffende wedstrijden aangeeft. Dat mist er nu nog in je query.

Tevens klopt je GROUP BY niet. De regel is dat je op alle kolommen uit de SELECT, die niet in een verzamelingsfunctie voorkomen, groepeert. Aangezien jij alle kolommen uit de players tabel selecteert, hoor je ook op al deze kolommen te groeperen...
hee oke

maar hoe moet ik er aan beginnen ik kom er helemaal niet uit . het vorige hebben ze voor mij gemaakt .

mvg
Ik gaf toch aan waar je moet beginnen? Als je daar niet uit komt is het misschien een goed idee om eens bij de basis te beginnen: SQL beginnershandleiding.
dank u wel

het is totaal nieuw voor mij
hee

ben net begonnen aan het lezen van de handleiding maar dit gaat ver over mijn denken hoor .

kan iemand mij zo verder helpen?

mvg


Gelieve Niet Bumpen:

Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de knop om je tekst aan te passen.

SanThe.


kristof schreef op 20.12.2009 21:24
ben net begonnen aan het lezen van de handleiding maar dit gaat ver over mijn denken hoor
Tja wat wil je nu. Die handleiding begint toch echt wel bij de basis die je onder de knie moet hebben wil je een beetje met SQL databases kunnen werken en dus te kunnen begrijpen wat je nu eigenlijk doet.

Als we je nu een oplossing aandragen kost dat allereerst veel tijd, die jij er eigenlijk in zou moeten steken. En daarnaast is het niet gezegd dat je met je volgende probleem (want dat gaat er zeker komen) direct weer aanklopt. Als je wilt programmeren in PHP/SQL, accepteer dan dat je eerst eens wat tijd moet steken in het opdoen van wat basiskennis. Zo zijn we immers allemaal begonnen.
En anders vrees ik dat je er voor zult moeten betalen->dus inhuren

Reageren