L
Liposuction
Hi,
ich habe eine ziemliches Problem (bin totaler Anfänger). Ich habe von der Schule den Auftrag bekommen einen Bundesligaplaner zu erstellen. Man soll Daten eintragen können, Spieltage anzeigen können und eine Tabelle anzeigen können (diese muss stimmen mit den Ergebnisse die man eingetragen hat).
Mein Problem ist die Tabelle. Ich kriege es einfach nicht, geschweige denn hab ich eine Idee. Hier erstmal meine SQL-Tabellen.
Die Tabellen sind gefüllt mit z.B. folgenden Werten:
Daten abfragen tue ich wie folgt:
So gebe ich Daten ein:
Meine Frage ist, wie kriege ich eine Live-Tabelle hin? Es müssen die Ergebnisse verglichen werden, bei einem Sieg +3 Punkte, bei Unentschieden +1 Punkt, bei Niederlage 0 Punkte.
Hab schon probiert, alle Daten in ein Array zu packen und dann mit Hilfe von Ifelse die Daten zu filtern. War ein gnadenloses scheitern. Kann ich überhaupt mit php sowas machen?
Ich danke schonmal für Hilfe bzw. Tipps.
EDIT: Hab gerade nochmal nachgedacht. Wäre es besser in die 2. Tabelle noch ein Attirbut einzufügen wie Ergebnis, wo dann drinne steht 1 für Sieg 2 für unentschieden usw.?
ich habe eine ziemliches Problem (bin totaler Anfänger). Ich habe von der Schule den Auftrag bekommen einen Bundesligaplaner zu erstellen. Man soll Daten eintragen können, Spieltage anzeigen können und eine Tabelle anzeigen können (diese muss stimmen mit den Ergebnisse die man eingetragen hat).
Mein Problem ist die Tabelle. Ich kriege es einfach nicht, geschweige denn hab ich eine Idee. Hier erstmal meine SQL-Tabellen.
Code:
Create TABLE T_Mannschaften
(
P_ID TINYINT PRIMARY KEY NOT NULL AUTO_INCREMENT,
Mannschaftsname CHAR (30)
)ENGINE=INNODB;
CREATE TABLE T_Spiele
(
ID INT PRIMARY KEY NOT NULL AUTO_INCREMENT,
Datum DATE,
Spieltag_Nr TINYINT,
Heim_ID TINYINT,
CONSTRAINT F_Verbund_1 FOREIGN KEY (Heim_ID) REFERENCES T_Mannschaften (P_ID) ON DELETE CASCADE ON UPDATE CASCADE,
Auswaerts_ID TINYINT,
CONSTRAINT F_Verbund_2 FOREIGN KEY (Auswaerts_ID) REFERENCES T_Mannschaften (P_ID) ON DELETE CASCADE ON UPDATE CASCADE,
Tore_Heim TINYINT,
Tore_Auswaerts TINYINT,
Ergebnis TINYINT
)ENGINE=INNODB;
Die Tabellen sind gefüllt mit z.B. folgenden Werten:
Code:
INSERT INTO T_Mannschaften (Mannschaftsname)
VALUES
('TSG 1899 Hoffenheim'),
('FC Bayern München'),
('Hertha BSC Berlin'),
('Hamburger SV'),
('Bayer 04 Leverkusen'),
('Borussia Dortmund'),
('FC Schalke 04'),
('SV Werder Bremen'),
('VFL Wolfsburg'),
('VFB Stuttgart'),
('1.FC Köln'),
('Eintracht Frankfurt'),
('Hannover 96'),
('Arminia Bielefeld'),
('Karlsruher SC'),
('FC Energie Cottbus'),
('VFL Bochum 1848'),
('Borussia Mönchengladbach');
INSERT INTO T_Spiele (Datum, Spieltag_Nr, Heim_ID, Auswaerts_ID)
VALUES
('2009-01-30',18,4,2),
('2009-01-31',18,13,7),
('2009-01-31',18,11,9),
('2009-01-31',18,6,5),
('2009-01-31',18,3,12),
('2009-01-31',18,1,16),
('2009-01-31',18,10,18),
('2009-02-01',18,8,14),
('2009-02-01',18,17,15),
Daten abfragen tue ich wie folgt:
PHP:
<?
//Dort sind alle Daten zum Connecten auf die DB drinne.
include("db.php");
//Übergabe der Variablen aus der Formularseite
$Nr= $_POST["Spieltag_Nr"];
include("bundesliga2.html");
//SQL-Befehl zum Abfragen der Daten in die Tabelle t_spiele
$result = mysql_query("SELECT ID, Datum, Spieltag_Nr, M1.Mannschaftsname AS Heimmannschaft,
M2.Mannschaftsname AS Auswaertsmannschaft, Tore_Heim, Tore_Auswaerts
FROM (t_spiele AS S INNER JOIN t_mannschaften AS M1 ON S.Heim_ID = M1.P_ID) INNER JOIN
t_mannschaften AS M2 ON S.Auswaerts_ID = M2.P_ID
WHERE Spieltag_Nr = $Nr
ORDER BY ID");
echo '<center>';
echo '<table border="1">';
echo '<tr><th>ID</th><th>Datum</th><th>Spieltag</th><th>Spielansetzung</th><th>Spielergebnis</th></tr>';
//Daten aus der Datenbank holen, solange bis die Bedingung des Spieltages nicht mehr erfüllt ist
while($row = mysql_fetch_array($result))
{
echo '<tr>';
echo '<th>'.$row["ID"].'</th>';
echo '<th>'.$row["Datum"].'</th>';
echo '<th>'.$row["Spieltag_Nr"].'</th>';
echo '<th>'.$row["Heimmannschaft"] ." : " .$row["Auswaertsmannschaft"].'</th>';
echo '<th>'.$row["Tore_Heim"] .":" .$row["Tore_Auswaerts"].'</th>';
echo '</tr>';
}
echo '</table>';
echo '</center>';
//Datenbank wieder schliessen
mysql_close();
?>
So gebe ich Daten ein:
PHP:
<?
include("db.php");
//Übergabe der Variablen aus der Formularseite.
//DIe Variablen heißen in dem HTML-Dokument genauso wie hier.
$ToreH= $_POST["Tore_Heim"];
$ToreA= $_POST["Tore_Auswaerts"];
$ID = $_POST["ID"];
//SQL-Befehl zum Updaten der Baten in die Tabelle t_spiele.
$eintrag = "UPDATE t_spiele SET Tore_Heim=$ToreH, Tore_Auswaerts=$ToreA WHERE ID=$ID";
///Nun erfolgt der Eintrag in die Tabelle.
$eintragen = mysql_query($eintrag);
//Datenbank wieder schliessen.
mysql_close();
//Folgende Anweisungen rufen die Formularseite wieder auf,
//um weitere Daten eingeben zukönnen.
Header('Location: bundesliga1.html');
?>
Meine Frage ist, wie kriege ich eine Live-Tabelle hin? Es müssen die Ergebnisse verglichen werden, bei einem Sieg +3 Punkte, bei Unentschieden +1 Punkt, bei Niederlage 0 Punkte.
Hab schon probiert, alle Daten in ein Array zu packen und dann mit Hilfe von Ifelse die Daten zu filtern. War ein gnadenloses scheitern. Kann ich überhaupt mit php sowas machen?
Ich danke schonmal für Hilfe bzw. Tipps.
EDIT: Hab gerade nochmal nachgedacht. Wäre es besser in die 2. Tabelle noch ein Attirbut einzufügen wie Ergebnis, wo dann drinne steht 1 für Sieg 2 für unentschieden usw.?
Zuletzt bearbeitet von einem Moderator: