Hallo Experten!
Habe mir Gedanken gemacht, wie man eine Highscoretabelle für GM-Studio-HTML5 Spiele gestalten könnte.
Es ist mir auch schon teilweise gelungen,
nun fehlt mir nur noch eine Sortierungsmöglichkeit auf der PHP-Anzeigeseite.
Finde einfach keine richtigen Beispiele (SORT) für mein Projekt.
Auch mit SQlite komme ich nicht weiter und hier habe ich noch zusätzlich das Problem, dass die Umlaute nach der Übertragung mit _GET in eine Datenbank nicht richtig dargestellt werden.
Also bleibe ich lieber bei der Textdatei, welche am Server liegt und dort ohnehin nicht so leicht manipulierbar ist.
Vielleicht hat jemand von euch eine Lösung parat, wie ich die unten angeführte PHP-Seite ergänzen könnte, um die Bestenliste absteigend nach Punkten zu sortieren.
Ich bin mir sicher, es gibt eine einfache Möglichkeit, leider habe ich bislang nur Fehlversuche zu verzeichnen.
Mit eurer Hilfe habe ich in den letzen Jahren so ziemlich alle meine Probleme lösen können, dafür bedanke ich mich sehr.
MfG. Hubsl
Hier mein Beispiel:
GM-Studio Skript (im
Create-Event am Ende der Übung).
highliste =
global.name +'|' +score ;
http_get("bestenliste01.php? ergebnis=" +highliste);
Diese PHP-Seite (bestenliste01.php)
wird vom GM-Spiel im Create-Event aufgerufen.
Bei jedem Aufruf erfolgt ein Eintrag in die bestenliste01.txt in einer neuen Zeile.
<?php
$handle = fopen("bestenliste01.txt","a");
fwrite($handle,"\r\n".$_GET["ergebnis"]); //r= lesen, n= nächste Zeile
fclose($handle);
?>
Die PHP-Anzeigeseite
<html>
<head>
<title>Bestenliste anzeigen</title>
<body bgcolor="#ffffed">
<p>
<p align="center"><font face="Arial,
Helvetica, sans-serif" size="4"><b>Bestenliste Übung1</b></font>
<p align="center"> <font
face="Arial, Helvetica, sans-serif" size="4">
<?php
echo '<table border="1">
<tr>
<td><font
face="Arial, Helvetica, sans-serif" size="4"><b>Name</b></td>
<td><font
face="Arial, Helvetica, sans-serif" size="4"><b>Punkte von 100</b></td></tr>';
$datei = file("bestenliste01.txt");
foreach($datei AS $ausgabe)
{
$zerlegen = explode("|",$ausgabe);
echo "<tr><td>$zerlegen[0]
</td><td>$zerlegen[1]</td></tr>";
}
echo
'</table>';
?>
</body></html>
Beispiel der Anzeige: Nun hätte ich die Tabelle gerne absteigend nach Punkten sortiert!
Name | Punkte von 100
Anton | 55
Berta | 20
Christian | 75
Günther | 45
Franziska | 85
Habe mir Gedanken gemacht, wie man eine Highscoretabelle für GM-Studio-HTML5 Spiele gestalten könnte.
Es ist mir auch schon teilweise gelungen,

Finde einfach keine richtigen Beispiele (SORT) für mein Projekt.

Auch mit SQlite komme ich nicht weiter und hier habe ich noch zusätzlich das Problem, dass die Umlaute nach der Übertragung mit _GET in eine Datenbank nicht richtig dargestellt werden.
Also bleibe ich lieber bei der Textdatei, welche am Server liegt und dort ohnehin nicht so leicht manipulierbar ist.
Vielleicht hat jemand von euch eine Lösung parat, wie ich die unten angeführte PHP-Seite ergänzen könnte, um die Bestenliste absteigend nach Punkten zu sortieren.
Ich bin mir sicher, es gibt eine einfache Möglichkeit, leider habe ich bislang nur Fehlversuche zu verzeichnen.
Mit eurer Hilfe habe ich in den letzen Jahren so ziemlich alle meine Probleme lösen können, dafür bedanke ich mich sehr.
MfG. Hubsl
Hier mein Beispiel:
GM-Studio Skript (im
Create-Event am Ende der Übung).
highliste =
global.name +'|' +score ;
http_get("bestenliste01.php? ergebnis=" +highliste);
Diese PHP-Seite (bestenliste01.php)
wird vom GM-Spiel im Create-Event aufgerufen.
Bei jedem Aufruf erfolgt ein Eintrag in die bestenliste01.txt in einer neuen Zeile.
<?php
$handle = fopen("bestenliste01.txt","a");
fwrite($handle,"\r\n".$_GET["ergebnis"]); //r= lesen, n= nächste Zeile
fclose($handle);
?>
Die PHP-Anzeigeseite
<html>
<head>
<title>Bestenliste anzeigen</title>
<body bgcolor="#ffffed">
<p>
<p align="center"><font face="Arial,
Helvetica, sans-serif" size="4"><b>Bestenliste Übung1</b></font>
<p align="center"> <font
face="Arial, Helvetica, sans-serif" size="4">
<?php
echo '<table border="1">
<tr>
<td><font
face="Arial, Helvetica, sans-serif" size="4"><b>Name</b></td>
<td><font
face="Arial, Helvetica, sans-serif" size="4"><b>Punkte von 100</b></td></tr>';
$datei = file("bestenliste01.txt");
foreach($datei AS $ausgabe)
{
$zerlegen = explode("|",$ausgabe);
echo "<tr><td>$zerlegen[0]
</td><td>$zerlegen[1]</td></tr>";
}
echo
'</table>';
?>
</body></html>
Beispiel der Anzeige: Nun hätte ich die Tabelle gerne absteigend nach Punkten sortiert!
Name | Punkte von 100
Anton | 55
Berta | 20
Christian | 75
Günther | 45
Franziska | 85
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von hubsl ()