Hallo,
ich versuche mich gerade schrittweise an mein Eingabeformular heranzutasten.
Mit folgendem Formular wähle ich den Spieltag aus:
Ich möchte nun aus meinen beiden Tabellen
wmSpielplan: wmSpielID ¦ wmSpielZeit ¦ wmSpielort ¦ wmTeamA ¦ wmTeamB ¦ wmSpieltag ¦ wmToreA ¦ wmToreB
wtTipps: wtMatchID ¦ wtSpieltagID ¦ wtTeamA ¦ wtTeamB ¦ wtTippA ¦ wtTippB ¦ wtUser ¦ wtPunkte ¦ wtTimestamp
die wmSpielID, wmSpiel_Timestamp, wmSpielort, wmTeamA, wmTeamB, wmSpieltag, wtTippA, wtTippB abfragen, wenn UserName, SpieltagID und MatchID übereinstimmen. Das habe ich soweit mit folgender Abfrage geschafft.
Mit folgender Ausgabe lasse ich die Auswahl anzeigen:
Die Abfrage liefert mir folgendes Ergebnis:
wmSpielID wmSpiel_Timestamp wmSpielort wmTeamA wmTeamB wmSpieltag wtTippA wtTippB
1 2011-06-10 16:00:00 Johannesburg - JSC S�dafrika Mexiko S1 0 2
2 2011-06-10 20:30:00 Kapstadt Uruguay Frankreich S1 4 1
3 2012-06-10 16:00:00 Johannesburg - JEP Argentinien Nigeria S1 1 4
4 2012-06-10 13:30:00 Nelson Mandela Bay/Port Elizabeth Korea Republik Griechenland S1 0 0
5 2012-06-10 20:30:00 Rustenburg England USA S1 2 3
6 2013-06-10 13:30:00 Polokwane Algerien Slowenien S1 6 5
7 2013-06-10 20:30:00 Durban Deutschland Australien S1 2 2
8 2013-06-10 16:00:00 Tshwane/Pretoria Serbien Ghana S1 3 4
Das ist soweit gut, solange der User schon getippt hat, d.h. wtTippA und wtTippB sind in der Datenbank vorhanden. Ich möchte nun aber die Tabelle auch anzeigen lassen, wenn die Tipps noch nicht vorhanden sind.
Könnte das mit LEFTJOIN in meiner Abfrage funktionieren, oder kann ich das nicht kombinieren?
Danke
Markus
ich versuche mich gerade schrittweise an mein Eingabeformular heranzutasten.
Mit folgendem Formular wähle ich den Spieltag aus:
HTML-Code:
<form id="SpAusw" name="Spieltag_Auswahl" method="post" action="WTTippen.php"> <p> <label>Spieltag auswählen: </label> <label> <select name="Spieltag_Auswahl2" id="Spieltag_Auswahl"> <?php do { ?> <option value="<?php echo $row_WTSpieltage['wtMatchID']?>" <?php if (!(strcmp($row_WTSpieltage['wtMatchID'], $row_wmSpielplan['wmSpieltag']))) {echo "selected=\"selected\"";} ?>> <?php echo $row_WTSpieltage['wtMatchText']?></option> <?php } while ($row_WTSpieltage = mysql_fetch_assoc($WTSpieltage)); $rows = mysql_num_rows($WTSpieltage); if($rows > 0) { mysql_data_seek($WTSpieltage, 0); $row_WTSpieltage = mysql_fetch_assoc($WTSpieltage); } ?> </select> <input type="submit" name="Go" id="Go" value="Go" /> </label> <?php echo $_POST[Spieltag_Auswahl2]?></p>
wmSpielplan: wmSpielID ¦ wmSpielZeit ¦ wmSpielort ¦ wmTeamA ¦ wmTeamB ¦ wmSpieltag ¦ wmToreA ¦ wmToreB
wtTipps: wtMatchID ¦ wtSpieltagID ¦ wtTeamA ¦ wtTeamB ¦ wtTippA ¦ wtTippB ¦ wtUser ¦ wtPunkte ¦ wtTimestamp
die wmSpielID, wmSpiel_Timestamp, wmSpielort, wmTeamA, wmTeamB, wmSpieltag, wtTippA, wtTippB abfragen, wenn UserName, SpieltagID und MatchID übereinstimmen. Das habe ich soweit mit folgender Abfrage geschafft.
PHP-Code:
$Tipp_User_wtTipps = "-1";
if (isset($row_UserName['UserName'])) {
$Tipp_User_wtTipps = $row_UserName['UserName'];
}
$SetSpieltag_wtTipps = "-1";
if (isset($_POST[Spieltag_Auswahl2])) {
$SetSpieltag_wtTipps = $_POST[Spieltag_Auswahl2];
}
mysql_select_db($database_wm2010, $wm2010);
$query_wtTipps = sprintf("SELECT wmspielplan.wmSpielID, wmspielplan.wmSpiel_Timestamp,
wmspielplan.wmSpielort, wmspielplan.wmTeamA, wmspielplan.wmTeamB, wmspielplan.wmSpieltag,
wttipps.wtTippA, wttipps.wtTippB FROM wmspielplan, wttipps WHERE
wmspielplan.wmSpielID=wttipps.wtMatchID AND wttipps.wtUser=%s AND wmspielplan.wmSpieltag=%s",
GetSQLValueString($Tipp_User_wtTipps, "text"),
GetSQLValueString($SetSpieltag_wtTipps, "text"));
$wtTipps = mysql_query($query_wtTipps, $wm2010) or die(mysql_error());
$row_wtTipps = mysql_fetch_assoc($wtTipps);
$totalRows_wtTipps = mysql_num_rows($wtTipps);
HTML-Code:
<p> </p> <table border="1"> <tr> <td>wmSpielID</td> <td>wmSpiel_Timestamp</td> <td>wmSpielort</td> <td>wmTeamA</td> <td>wmTeamB</td> <td>wmSpieltag</td> <td>wtTippA</td> <td>wtTippB</td> </tr> <?php do { ?> <tr> <td><?php echo $row_wtTipps['wmSpielID']; ?></td> <td><?php echo $row_wtTipps['wmSpiel_Timestamp']; ?></td> <td><?php echo $row_wtTipps['wmSpielort']; ?></td> <td><?php echo $row_wtTipps['wmTeamA']; ?></td> <td><?php echo $row_wtTipps['wmTeamB']; ?></td> <td><?php echo $row_wtTipps['wmSpieltag']; ?></td> <td><?php echo $row_wtTipps['wtTippA']; ?></td> <td><?php echo $row_wtTipps['wtTippB']; ?></td> </tr> <?php } while ($row_wtTipps = mysql_fetch_assoc($wtTipps)); ?> </table>
wmSpielID wmSpiel_Timestamp wmSpielort wmTeamA wmTeamB wmSpieltag wtTippA wtTippB
1 2011-06-10 16:00:00 Johannesburg - JSC S�dafrika Mexiko S1 0 2
2 2011-06-10 20:30:00 Kapstadt Uruguay Frankreich S1 4 1
3 2012-06-10 16:00:00 Johannesburg - JEP Argentinien Nigeria S1 1 4
4 2012-06-10 13:30:00 Nelson Mandela Bay/Port Elizabeth Korea Republik Griechenland S1 0 0
5 2012-06-10 20:30:00 Rustenburg England USA S1 2 3
6 2013-06-10 13:30:00 Polokwane Algerien Slowenien S1 6 5
7 2013-06-10 20:30:00 Durban Deutschland Australien S1 2 2
8 2013-06-10 16:00:00 Tshwane/Pretoria Serbien Ghana S1 3 4
Das ist soweit gut, solange der User schon getippt hat, d.h. wtTippA und wtTippB sind in der Datenbank vorhanden. Ich möchte nun aber die Tabelle auch anzeigen lassen, wenn die Tipps noch nicht vorhanden sind.
Könnte das mit LEFTJOIN in meiner Abfrage funktionieren, oder kann ich das nicht kombinieren?
Danke
Markus
Kommentar