id
serie
spieler_id
spielpunkte
gesamtergebnis
platzierung
Zu jeder Serie gibt es einen Eintrag über 3 Zeilen,
die Spalte ist mit INT formatiert und besteht aus 6 Zahlen,
und in der Zelle steht 3 mal die gleiche Zahl z.B. 201114,
da ein Spiel immer von 3 Spielern absolviert wird.
Jetzt möchte ich, das ein Spieler sich alle Ergebnisse anschauen kann,
die er gegen einen Gegner erzielt hat und diese in einer Tabelle ausgeben.
Mit folgender Abfrage kann ich mir ja alle Ergebnisse ausgeben lassen,
die ein Spieler erziehlt hat:
PHP-Code:
$abfrage = "SELECT serie,spieler_id,spielpunkte,gesamtergebnis,platzierung FROM ergebnisse where spieler_id='" . $_POST['auswahl'] . "'"; $ergebnis = mysql_query($abfrage); while ($row = mysql_fetch_object($ergebnis)) { Hier kommt die Tabelle rein }
Ich habe mir schon ein Formular erstellt, in dem ich den Mitspieler auswählen kann.
Wie kann ich mir jetzt alle Ergebnisse gegen einen Mitspieler anzeigen lassen?
Sorry, ich habe wirklich Schwierigkeiten, Dich zu verstehen.
Zitat:
Zitat von pekobe
die bei Serie die gleiche Zahl stehen haben
bei Serie?
Zitat:
Zitat von pekobe
Wie kann ich mir jetzt alle Ergebnisse gegen einen Mitspieler anzeigen lassen?
D.h. Du hast viele Spieler, zwei davon sind Spieler A und Spieler B und willst jetzt nur die Ergebnisse von Spielen, an denen sowohl A als auch B teilgenommen haben?
__________________
Wat der Bauer nich kennt, dit frisster nich.
ich habe mal ein Bild mit einem Ausschnitt der Tabelle gemacht.
Die 3 gleichen Zahlen in den Datensätzen werden durch einen
Zufallsgenerator erstellt und sie gibt es um das Spiel den 3 Teilnehmern
zuzuweisen.
Zitat:
D.h. Du hast viele Spieler, zwei davon sind Spieler A und Spieler B und willst jetzt nur die Ergebnisse von Spielen, an denen sowohl A als auch B teilgenommen haben?
Ja genau so soll es sein, so wie im Beispiel auf dem Bild.
Wo Britta auswählen kann, ich möchte mir jetzt alle Ergebnisse
anschauen, die ich gegen Joker erzielt habe.
$sql = "SELECT
a.serie,
a.spielpunkte as ich_punkte,a.platzierung, as ich_platzierung
b.spielpunkte as andere_punkte,b.platzierung as andere_platzierung,
FROM
ergebnisse as a
JOIN
ergebnisse as b
ON
a.serie=b.serie
WHERE
a.spieler_id=$id_ich
AND b.spieler_id=$id_andere
";
$ergebnis = mysql_query($abfrage);
while ($row = mysql_fetch_object($ergebnis))
{
// Hier kommt die Tabelle rein
}
__________________
Wat der Bauer nich kennt, dit frisster nich.
$abfrage = "SELECT a.serie,
a.spielpunkte as ich_punkte,
a.gesamtergebnis as ich_gesamt,
a.platzierung as ich_platzierung,
b.serie,
b.spielpunkte as andere_punkte,
b.gesamtergebnis as andere_gesamt,
b.platzierung as andere_platzierung
FROM ergebnisse as a
JOIN ergebnisse as b
ON a.serie=b.serie
WHERE a.spieler_id=$id_ich AND b.spieler_id=$id_andere";
$ergebnis = mysql_query($abfrage) or die(mysql_error());
while ($row = mysql_fetch_object($ergebnis))
{
auf dem Server läuft noch die Version 3.23.37.
Der Mieter des Servers traut sich nicht,
die ySQL Version upzudaten,
da er Angst hat, das Daten verloren gehen.
Ich werde es mal bei meinem installierten
Xampp versuchen.
Note that INNER JOIN syntax allows a join_condition only from MySQL 3.23.17 on. The same is true for JOIN and CROSS JOIN only as of MySQL 4.0.11.
Für die Museumsversion müste die Abfrage wohl
Code:
FROM ergebnisse as a
JOIN ergebnisse as b
USING(serie)
lauten, ohne Gewähr.
Und dem "Mieter" kannst Du sagen, dass es ganz tolle Backup Programme gibt, die einem die Angst vor Updates nehmen können ;)
Und so ganz ohne Backups muss er oder sie doch eh die gesamte Zeit zittern, Hardwareschaden, Bugs usw. usw.
__________________
Wat der Bauer nich kennt, dit frisster nich.
Geändert von defabricator (28.12.2007 um 20:39:54 Uhr)