Ik heb voor een dart competitie een tabel aangemaakt in mijn MYSQL database met bijbehorende kolommen:
- ID, Spelers, hondertachtig, Gespeeld en Punten
Ik zou graag de gegevens willen ranken op de hoeveelheid punten en dat deze ranking automatisch wordt aangemaakt.
Momenteel heb ik een tweede tabel aangemaakt voor de ranking maar dit is niet flexibel genoeg.
Ik wil dus graag de tabel "seizoentabel2" verwijderen en ervoor zorgen dat de ranking automatisch wordt gemaakt. Heeft iemand hier ervaring mee die mij opweg kan helpen? Alvast bedankt!
?
Onbekende gebruiker
11-11-2016 12:40
gewijzigd op 11-11-2016 12:45
Je kan een tellertje mee laten lopen in je "seizoentabel".
Bijvoorbeeld:
Bedankt sander, ik heb je code uitgeprobeerd maar er komt nu overal als rank 1 te staan, maar ik zou graag 1 tot 20 willen zien (er zijn 20 spelers). Weet je toevallig hoe ik dit voor elkaar kan krijgen?
?
Onbekende gebruiker
11-11-2016 12:55
Heb je mijn code direct gecopy-paste?
Dan zou hij het moeten doen, kan je anders eens laten zien wat je nu hebt?
Vooral de $i++; is belangrijk, die telt er steeds 1 bij op.
In dat geval zou je beter de tabel omnoemen naar iets zonder nummer en dan een extra kolom toevoegen: seizoennr.
In die kolom sla je dan voor seizoen 16 het getal 16 op en volgend jaar het getal 17. Dat maakt dat je niet in al je code op zoek moet naar "seizoen16" als het seizoen wisselt. Bovendien kun je dan rechtstreeks een vergelijk maken dussen de score in het ene en het andere seizoen.
In dat geval zou je beter de tabel omnoemen naar iets zonder nummer en dan een extra kolom toevoegen: seizoennr.
In die kolom sla je dan voor seizoen 16 het getal 16 op en volgend jaar het getal 17. Dat maakt dat je niet in al je code op zoek moet naar "seizoen16" als het seizoen wisselt. Bovendien kun je dan rechtstreeks een vergelijk maken dussen de score in het ene en het andere seizoen.
Dat is niet nodig, voor elk seizoen maken we simpelweg een nieuwe tabel aan, en het vergelijken tussen seizoenen is iets wat we niet gebruiken. De code is nu bijna zoals we het willen hebben, alleen willen we dus bij de tweede tabel ervoor zorgen dat waneer er geen gegevens staan in "bovenhonderd" dat deze Spelers niet worden getoond.
?
Onbekende gebruiker
11-11-2016 13:51
Vervang in dat geval:
<?
$sql = "SELECT Speler, bovenhonderd FROM seizoen16 ORDER BY bovenhonderd DESC";
?>
Door
<?
$sql = "SELECT Speler, bovenhonderd FROM seizoen16 WHERE bovenhonderd <> '' ORDER BY bovenhonderd DESC";
?>