Hi PHPler!
Es geht um ein Formel1-Tippspiel für meine zukünftige private Page, das soweit fast fertig gestellt ist,
jedoch habe ich Probleme bei der Rangliste der User bzw. deren Erstellung!
Dazu benötige ich lediglich einen Denkanstoß, die eigentliche Programmiererei kriege ich wohl selber hin!
Die Grundlage des Problems bilden 2 MySQL-Tabellen:
1. Tabelle: Rennergebnisse
Diese besteht aus id, start_zeit, p1, p2, p3...p8
id => int
start_zeit => timestamp (Startzeit des Rennens)
p1...p8 => int (hier werden die entsprechenden fahrer_ids eingetragen, also
p1 => platz 1 z.B. Schumi mit id 1
p2 => platz 2 z.B. Jenson Button mit id 10 usw.)
Beispieldatensatz: 3, 1082894400, 1, 3, 2, 10, 5, 4, 7, 11
2. Tabelle Tipps
Besteht aus id, user, start_zeit, p1, p2, p3...p8
user => Text (Name des Users, der getippt hat)
Rest wie die andere Tabelle
Beispieldatensatz: 12, Thomas, 1082894400, 1, 3, 2, 10, 5, 4, 7, 11
So, nun zum Problem:
Die Ergebnisse werden kurz nach dem Rennen upgedatet und das ist alles was ich an Pflege aufwenden möchte.
Alles andere soll dynamisch berechnet werden - soll heißen, wenn sich ein User die Rangliste ansehen möchte,
dann soll alles dynamisch anhand der beiden obigen Tabellen berechnet werden, um zwar Platz, Name und Punkte des Users.
Getippt werden darf nur auf 8 Fahrer (eben p1...p8)
Sieger richtig getippt: 5 Punkte
Richtige Platzierung: 3 Punkte
Fahrer in den Punkten: 1 Punkt
Ich denke das ganze Problem ist mit Arrays bzw. deren Vergleich und Scheifen zu lösen, jedoch gibt es da bestimmt zig verschiedene Lösungen, aber bevor ich anfange x Zeilen überflüssigen Code zu programmieren, wollte ich hier mal nach Rat fragen!
Eine effiziente Lösung ist mir auch hinsichtlich des Zeitfaktors (damit meine ich die Berechnungszeit) wichtig.
Von weiteren Tabellenfeldern wie z.B. 'Punkte' in der User-Tabelle sehe ich ab, da mir sonst die Dynamik bzw. die leichte Pflege der ganzen Sache verloren geht...
Wie gesagt, es reicht mir ein guter Denkanstoß!
Ist eben mal ein anspruchsvolleres Problem (auf jeden Fall für mich zur Zeit) und ich hoffe ihr habt Zeit und Lust euch dem anzunehmen...
MfG Jan
Es geht um ein Formel1-Tippspiel für meine zukünftige private Page, das soweit fast fertig gestellt ist,
jedoch habe ich Probleme bei der Rangliste der User bzw. deren Erstellung!
Dazu benötige ich lediglich einen Denkanstoß, die eigentliche Programmiererei kriege ich wohl selber hin!
Die Grundlage des Problems bilden 2 MySQL-Tabellen:
1. Tabelle: Rennergebnisse
Diese besteht aus id, start_zeit, p1, p2, p3...p8
id => int
start_zeit => timestamp (Startzeit des Rennens)
p1...p8 => int (hier werden die entsprechenden fahrer_ids eingetragen, also
p1 => platz 1 z.B. Schumi mit id 1
p2 => platz 2 z.B. Jenson Button mit id 10 usw.)
Beispieldatensatz: 3, 1082894400, 1, 3, 2, 10, 5, 4, 7, 11
2. Tabelle Tipps
Besteht aus id, user, start_zeit, p1, p2, p3...p8
user => Text (Name des Users, der getippt hat)
Rest wie die andere Tabelle
Beispieldatensatz: 12, Thomas, 1082894400, 1, 3, 2, 10, 5, 4, 7, 11
So, nun zum Problem:
Die Ergebnisse werden kurz nach dem Rennen upgedatet und das ist alles was ich an Pflege aufwenden möchte.
Alles andere soll dynamisch berechnet werden - soll heißen, wenn sich ein User die Rangliste ansehen möchte,
dann soll alles dynamisch anhand der beiden obigen Tabellen berechnet werden, um zwar Platz, Name und Punkte des Users.
Getippt werden darf nur auf 8 Fahrer (eben p1...p8)
Sieger richtig getippt: 5 Punkte
Richtige Platzierung: 3 Punkte
Fahrer in den Punkten: 1 Punkt
Ich denke das ganze Problem ist mit Arrays bzw. deren Vergleich und Scheifen zu lösen, jedoch gibt es da bestimmt zig verschiedene Lösungen, aber bevor ich anfange x Zeilen überflüssigen Code zu programmieren, wollte ich hier mal nach Rat fragen!
Eine effiziente Lösung ist mir auch hinsichtlich des Zeitfaktors (damit meine ich die Berechnungszeit) wichtig.
Von weiteren Tabellenfeldern wie z.B. 'Punkte' in der User-Tabelle sehe ich ab, da mir sonst die Dynamik bzw. die leichte Pflege der ganzen Sache verloren geht...
Wie gesagt, es reicht mir ein guter Denkanstoß!
Ist eben mal ein anspruchsvolleres Problem (auf jeden Fall für mich zur Zeit) und ich hoffe ihr habt Zeit und Lust euch dem anzunehmen...
MfG Jan
Kommentar