Volgende maand bestaat een website die ik moet onderhouden precies 1 jaar. Ik dacht er aan omdat te vieren met een nieuw javascript spelletje (tetris, snake of iets dergelijks).
Om het wat leuker te maken moeten de hoogste 10 scores worden opgeslagen en op volgorde van hoog naar laag worden weergegeven met daarachter de naam van de speler en de datum. Zonder gebruik van een MySQL database. Een los .txt bestandje dus.
Het script moet:
- bestand openen en de scores vergelijken met de behaalde score
- als de score hoger is dan de laagste score in het bestand moet hij op de juiste plek worden ingevoegd en de scores daaronder moeten een plaats opschuiven, de laatste wordt verwijderd.
- de scores in een tabel weergeven.
Het eerste en laatse punt zijn geen probleem. Maar het op laten schuiven van alle scores lijkt me een beetje heel erg omslachtig gaan als ik iedere variable opnieuw moet schrijven. Het vergelijk en verschuif gedeelte is daarom nog niet aanwezig.
het zou best kunnen dat er nog andere fouten in de code ziten, ik heb hem nog niet kunnen uittesten. Natuurlijk heb ik de search niet kunnen gebruiken.
Om het wat leuker te maken moeten de hoogste 10 scores worden opgeslagen en op volgorde van hoog naar laag worden weergegeven met daarachter de naam van de speler en de datum. Zonder gebruik van een MySQL database. Een los .txt bestandje dus.
Het script moet:
- bestand openen en de scores vergelijken met de behaalde score
- als de score hoger is dan de laagste score in het bestand moet hij op de juiste plek worden ingevoegd en de scores daaronder moeten een plaats opschuiven, de laatste wordt verwijderd.
- de scores in een tabel weergeven.
Het eerste en laatse punt zijn geen probleem. Maar het op laten schuiven van alle scores lijkt me een beetje heel erg omslachtig gaan als ik iedere variable opnieuw moet schrijven. Het vergelijk en verschuif gedeelte is daarom nog niet aanwezig.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
| <? $data='highscores.txt'; $date=date("d-m-Y"); $openfile = fopen("$data", "w+"); //Opent het scorebestand en vergelijkt de highscores met de zojuist behaald score {$afile = file($data); for($num = 1; $num <= 10; $num++) {$bfile = explode("|",$afile[$num]); //Als de behaalde score groter is dan een highscore zegt variable $place op welke plaats hoe komt if($score > $bfile[0]){$place = $num} } //Als de score niet hoger is dan een highscore: exit. if($place == "") {exit();} //Opent het scorebestand en overschrijft het met de juiste data. fputs($openfile,"$score1|$name1|$date1\n $score2|$name2|$date2\n $score3|$name3|$date3\n $score4|$name4|$date4\n $score5|$name5|$date5\n $score6|$name6|$date6\n $score7|$name7|$date7\n $score8|$name8|$date8\n $score9|$name9|$date9\n $score10|$name10|$date10\n); FClose($openfile); //Geeft de 10 regels weer in een tabel met 3 kolommen: score, naam, datum echo "<table><tr><td><b>Score</b></td><td><b>Naam</b></td><td><b>Datum</b></td></tr>"; {$afile = file($data); for($num = count($afile) -1; $num <= 10; $num++) {$bfile = explode("|",$afile[$num]); echo"<tr><td>$bfile[0]</td><td>$bfile[1]</td><td>$bfile[2]</td></tr>"; } echo "</table>"; ?> |
het zou best kunnen dat er nog andere fouten in de code ziten, ik heb hem nog niet kunnen uittesten. Natuurlijk heb ik de search niet kunnen gebruiken.
Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.