Also das Konzept habe ich sogar geschafft!
Ich habe ein Formular, wo der Spieltag ausgewählt wird und der Name in einer Session gespeichert wird. Dann kann ich die Heimmannschaft, die Auswärtsmannschaft und die Heim- und Auswärtstore auswählen. Ich benutze folgende Datenbanken:
-spiel(spielid,heimid,auswaertsid,heimtore,auswaert store,spieltagid)
-mannschaft(mannschaftid,mannschafname,tore,gegento re,differenz,siege,unentschieden,niederlagen,useri d)
user(userid,username)
spieltag(spieltagid,spieltagname)
Die Daten werden in die Tabelle "spiel" gespeichert, um später in einer Spielübersicht augegeben zu werden, und in der Tabelle "mannschaft" um in einer Tabelle ausgegeben zu werden. Nun habe ich aber 2 Probleme:
1) Wenn ich einen Spieltag auswähle, dann wird immer nur der erste Spieltag eingefügt. Also bei "spieltagid" steht immer nur "1".
2) Mit was für einer Anweisung kann ich am besten die Spieltage ausgeben. Zuerst soll de rSpieltag stehen("1.Spieltag" oder so) und dann alle Spiele, aber ich selektiere ja alles aus der Tabelle "spiele", wo nur die Mannschaftsid drin steht, mit "WHERE" klappt das auch nicht so richtig.
Hier ist mal der Code
PHP-Code:
<?php
session_start();
error_reporting(E_ALL);
require("config.php");
echo "<a href=\"index.php?action=ergebnis\">Ergebnis</a>
\n";
echo "<a href=\"index.php?action=spieltag\">Spieltag</a>
\n";
echo "<a href=\"index.php?action=tabelle\">Tabelle</a>
\n";
echo "<a href=\"index.php?action=zuruecksetzen\">Zurücksetzen</a>
\n";
echo "<hr>\n";
switch(isset($_GET['action'])?$_GET['action']:'')
{
case 'ergebnis':
if(isset($_POST['submit']) AND $_POST['submit'] == "Spieltag auswählen")
{
$_POST['spieltag'] = $_SESSION['spieltag'];
echo "<form action=\"index.php?action=torschuetzen\" method=\"post\">\n";
echo " Heimmanschaft
\n";
echo " <select name=\"heimmannschaft\">\n";
$sql = "SELECT mannschaftid,mannschaftname FROM mannschaft ORDER BY mannschaftname ASC";
$result = mysql_query($sql) or die (mysql_error());
while($row = mysql_fetch_assoc($result))
{
echo "<option value=\"". $row['mannschaftid'] ."\">". $row['mannschaftname'] ."</option>\n";
}
echo " </select>
\n";
echo " Auswärtsmannschaft
\n";
echo " <select name=\"auswaertsmannschaft\">\n";
$sql = "SELECT mannschaftid,mannschaftname FROM mannschaft ORDER BY mannschaftname ASC";
$result = mysql_query($sql) or die (mysql_error());
while($row = mysql_fetch_assoc($result))
{
echo "<option value=\"". $row['mannschaftid'] ."\">". $row['mannschaftname'] ."</option>\n";
}
echo " </select>
\n";
echo " Heimtore
\n";
echo " <select name=\"heimtore\">\n";
for($i = 0;$i < 11;$i++)
{
echo "<option value=\"". $i ."\">". $i ."</option>\n";
}
echo " </select>
\n";
echo " Auswärtstore
\n";
echo " <select name=\"auswaertstore\">\n";
for($i = 0;$i < 11;$i++)
{
echo "<option value=\"". $i ."\">". $i ."</option>\n";
}
echo " </select>
\n";
echo " <input type=\"submit\" name=\"submit\" value=\"Weiter zu den Torschützen\">\n";
echo "</form>\n";
}else{
echo "<form action=\"index.php?action=ergebnis\" method=\"post\">\n";
echo " Spieltag auswählen
\n";
echo " <select name=\"spieltag\">\n";
$sql = "SELECT spieltagid,spieltagname FROM spieltag ORDER BY spieltagid ASC";
$result = mysql_query($sql) or die (mysql_error());
while($row = mysql_fetch_assoc($result))
{
echo "<option value=\"". $row['spieltagid'] ."\">". $row['spieltagid'] ."</option>\n";
}
echo " </select>
\n";
echo " <input type=\"submit\" name=\"submit\" value=\"Spieltag auswählen\">\n";
echo "</form>\n";
}
break;
case 'torschuetzen':
$heimmannschaft = $_POST['heimmannschaft'];
$auswaertsmannschaft = $_POST['auswaertsmannschaft'];
$heimtore = $_POST['heimtore'];
$auswaertstore = $_POST['auswaertstore'];
$sieg = 3;
if($heimmannschaft == $auswaertsmannschaft)
{
die("Die Heimmanschaft ist die gleiche wie die Auswärtsmannschaft!");
}
$sql = "INSERT INTO spiel (heimtore,auswaertstore,heimid,auswaertsid,spieltagid) VALUES ('". $heimtore ."','". $auswaertstore ."','". $heimmannschaft ."','". $auswaertsmannschaft ."','". $_SESSION['spieltag'] ."')";
$result = mysql_query($sql) or die (mysql_error());
if($result) echo "Spiel wurde erfolgreich übertragen.
";
//Sieg der Heimmannschaft
if($heimtore > $auswaertstore)
{
//Die Tabelle mannschaft wird mit den entsprechenden Werten der Heimmannschaft geupdatet
$sql = "UPDATE mannschaft SET punkte = punkte+3,tore = tore+'". $heimtore ."',gegentore = '". $auswaertstore ."',siege = siege+1 WHERE mannschaftid = '". $heimmannschaft ."'";
$result = mysql_query($sql) or die (mysql_error());
//Tordifferenz der Heimmannschaft wird ausgerechnet und später in die Tabelle mannschaft übertragen
$sql = "SELECT tore,gegentore FROM mannschaft WHERE mannschaftid = '". $heimmannschaft ."'";
$result = mysql_query($sql) or die (mysql_error());
$row = mysql_fetch_assoc($result);
$differenz = $row['tore'] - $row['gegentore'];
$sql = "UPDATE mannschaft SET differenz = '". $differenz ."' WHERE mannschaftid = '". $heimmannschaft ."'";
$result = mysql_query($sql) or die (mysql_error());
//Die Tabelle mannschaft wird mit den entsprechenden Werten der Auswärtsmannschaft geupdatet
$sql = "UPDATE mannschaft SET tore = tore+'". $auswaertstore ."',gegentore = '". $heimtore ."',niederlagen = niederlagen+1 WHERE mannschaftid = '". $auswaertsmannschaft ."'";
$result = mysql_query($sql) or die (mysql_error());
//Tordifferenz der Auswärtsmannschaft wird ausgerechnet und später in die Tabelle mannschaft übertragen
$sql = "SELECT tore,gegentore FROM mannschaft WHERE mannschaftid = '". $auswaertsmannschaft ."'";
$result = mysql_query($sql) or die (mysql_error());
$row = mysql_fetch_assoc($result);
$differenz = $row['tore'] - $row['gegentore'];
$sql = "UPDATE mannschaft SET differenz = '". $differenz ."' WHERE mannschaftid = '". $auswaertsmannschaft ."'";
$result = mysql_query($sql) or die (mysql_error());
if($result) echo "Die Spieldaten wurden in die Tabellenwertung aufgenommen.";
}
//Sieg der Auswärtsmannschaft
if($heimtore < $auswaertstore)
{
//Die Tabelle mannschaft wird mit den entsprechenden Werten der Auswärtsmannschaft geupdatet
$sql = "UPDATE mannschaft SET punkte = punkte+3,tore = tore+'". $auswaertstore ."',gegentore = '". $heimtore ."',siege = siege+1 WHERE mannschaftid = '". $auswaertsmannschaft ."'";
$result = mysql_query($sql) or die (mysql_error());
//Tordifferenz der Auswärtsmannschaft wird ausgerechnet und später in die Tabelle mannschaft übertragen
$sql = "SELECT tore,gegentore FROM mannschaft WHERE mannschaftid = '". $auswaertsmannschaft ."'";
$result = mysql_query($sql) or die (mysql_error());
$row = mysql_fetch_assoc($result);
$differenz = $row['tore'] - $row['gegentore'];
$sql = "UPDATE mannschaft SET differenz = '". $differenz ."' WHERE mannschaftid = '". $auswaertsmannschaft ."'";
$result = mysql_query($sql) or die (mysql_error());
//Die Tabelle mannschaft wird mit den entsprechenden Werten der Heimmannschaft geupdatet
$sql = "UPDATE mannschaft SET tore = tore+'". $auswaertstore ."',gegentore = '". $heimtore ."',niederlagen = niederlagen+1 WHERE mannschaftid = '". $heimmannschaft ."'";
$result = mysql_query($sql) or die (mysql_error());
//Tordifferenz der Heimmannschaft wird ausgerechnet und später in die Tabelle mannschaft übertragen
$sql = "SELECT tore,gegentore FROM mannschaft WHERE mannschaftid = '". $heimmannschaft ."'";
$result = mysql_query($sql) or die (mysql_error());
$row = mysql_fetch_assoc($result);
$differenz = $row['tore'] - $row['gegentore'];
$sql = "UPDATE mannschaft SET differenz = '". $differenz ."' WHERE mannschaftid = '". $heimmannschaft ."'";
$result = mysql_query($sql) or die (mysql_error());
if($result) echo "Die Spieldaten wurden erfolgreich in die Tabellenwertung aufgenommen.";
}
//Unentschieden
if($heimtore == $auswaertstore)
{
//Die Tabelle mannschaft wird mit den entsprechenden Werten der Heimmannschaft geupdatet
$sql = "UPDATE mannschaft SET punkte = punkte+1,tore = tore+'". $heimtore ."',gegentore = '". $auswaertstore ."',unentschieden = unentschieden+1 WHERE mannschaftid = '". $heimmannschaft ."'";
$result = mysql_query($sql) or die (mysql_error());
$sql = "UPDATE mannschaft SET punkte = punkte+1,tore = tore+'". $auswaertstore ."',gegentore = '". $heimtore ."',unentschieden = unentschieden+1 WHERE mannschaftid = '". $auswaertsmannschaft ."'";
$result = mysql_query($sql) or die (mysql_error());
if($result) echo "Die Spieldaten wurden erfolgreich in die Tabellenwertung aufgenommen.";
}
break;
case 'zuruecksetzen':
if(isset($_POST['submit']) AND "Zurücksetzen" == $_POST['submit'])
{
$sql = "UPDATE mannschaft SET siege=0,unentschieden=0,niederlagen=0,tore=0,gegentore=0,differenz=0,punkte=0";
$result = mysql_query($sql) or die (mysql_error());
$sql = "DELETE FROM spiel";
$result = mysql_query($sql) or die (mysql_error());
echo "Die Daten wurden erfolgreich zurückgesetzt.";
}else{
echo "<form action=\"index.php?action=zuruecksetzen\" method=\"post\">\n";
echo " <input type=\"submit\" name=\"submit\" value=\"Zurücksetzen\">\n";
echo "</form>\n";
}
break;
case 'spieltag':
//Hier habe ich keine Ahnung, wie das richtig geht
$sql = "SELECT * FROM spiel,spieltag,mannschaft WHERE spiel.spieltagid = spieltag.spieltagid AND spiel.heimid = mannschaft.mannschaftid";
$result = mysql_query($sql) or die (mysql_error());
while($row = mysql_fetch_assoc($result))
{
echo "<u>". $row['spieltagname'] ."</u>
\n";
echo $row['mannschaftname'] ." - ". $row['heimid'] ."
";
}
break;
case 'tabelle':
echo "<u>Tabelle</u>
\n";
echo "<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse:collapse\">\n";
echo " <tr>\n";
echo " <td width=\"100\">\n";
echo " Mannschaft\n";
echo " </td>\n";
echo " <td width=\"50\">\n";
echo " Spiele\n";
echo " </td>\n";
echo " <td width=\"50\">\n";
echo " Tore\n";
echo " </td>\n";
echo " <td width=\"100\">\n";
echo " Gegentore";
echo " </td>\n";
echo " <td width=\"50\">";
echo " Siege\n";
echo " </td>\n";
echo " <td width=\"100\">\n";
echo " Unentschieden\n";
echo " </td>\n";
echo " <td width=\"100\">\n";
echo " Niederlagen\n";
echo " </td>\n";
echo " <td width=\"100\">\n";
echo " Differenz\n";
echo " </td>\n";
echo " <td width=\"50\">\n";
echo " Punkte\n";
echo " </td>\n";
echo " </tr>";
$sql = "SELECT * FROM mannschaft ORDER BY punkte DESC,differenz DESC,tore DESC,gegentore DESC";
$result = mysql_query($sql) or die (mysql_error());
while($row = mysql_fetch_assoc($result))
{
echo " <tr>\n";
echo " <td width=\"100\">\n";
echo $row['mannschaftname'] ."\n";
echo " </td>\n";
echo " <td width=\"50\">\n";
$spiele = $row['siege'] + $row['unentschieden'] + $row['niederlagen'];
echo $spiele ."\n";
echo " </td>\n";
echo " <td width=\"50\">";
echo $row['tore'] ."\n";
echo " </td>\n";
echo " <td width=\"100\">\n";
echo $row['gegentore'] ."\n";
echo " </td>\n";
echo " <td width=\"50\">\n";
echo $row['siege'] ."\n";
echo " </td>\n";
echo " <td width=\"100\">\n";
echo $row['unentschieden'] ."\n";
echo " </td>\n";
echo " <td width=\"100\">\n";
echo $row['niederlagen'] ."\n";
echo " </td>\n";
echo " <td width=\"100\">\n";
echo $row['differenz'] ."\n";
echo " </td>\n";
echo " <td width=\"50\">\n";
echo $row['punkte'] ."\n";
echo " </td>\n";
echo " </tr>";
}
break;
}
?>
Ich weiß, dass man nicht "SELECT *" schreiben soll, aber damit das hier nicht noch länger wird, habe ich es weggelassen.