Ich würde das Modul gerne erweitern. Ich möchte gerne dem Spielr noch einen Verein hinzufügen. Also erfolgt eine weitere Tabelle mit dem Namen con_verein. Diese Tabelle hat nur zwei felder (id / verein). Wie kann ich das Ausgabe Modul nun so erweitern, das zum Spieler nicht nur die Kategorie sondern auch der Verein angezeigt wird. Bei meinem Veruch das richtig zu organisieren zeigt er mir leider immer nur den ersten Datensatz an.Mc hat geschrieben:Das mit der Spielerliste müsste so funktionieren:
Zwei neue Tabellen anlegen:
Tabellen zunächst "per Hand bestücken". Ich habe mir für ähnliche Dinge ein Modul erstellt, mit dem ich im geschützten Bereich im frontend die Daten eingeben kann.Code: Alles auswählen
CREATE TABLE `con_spieler` ( `id` INT NOT NULL AUTO_INCREMENT, `vorname` VARCHAR( 25 ) NOT NULL , `name` VARCHAR( 25 ) NOT NULL , `kategorie` INT NOT NULL , PRIMARY KEY ( `id` ) ); CREATE TABLE `con_spieler_kategorie` ( `id` INT NOT NULL AUTO_INCREMENT, `kategorie` VARCHAR( 25 ) NOT NULL , PRIMARY KEY ( `id` ) );
Modul erstellen (nur output):Formatierungen wurden noch nicht vorgenommen.Code: Alles auswählen
<?php /*********************************************** * CONTENIDO MODUL - OUTPUT * * Modulname : Spielerliste * Author(s) : Mc * Created : 13-03-2006 ************************************************/ $dbConnect = new DB_Contenido; // alle Kategorien abfragen aus Tabelle con_spieler_kategorie $sql1 = "SELECT id, kategorie FROM con_spieler_kategorie"; $result1 = @mysql_query($sql1); if (!$result1) { echo("<p>Fehler bei der Ausführung der Abfrage: " . mysql_error() . "</p>"); exit(); } // Kategorien ins array $row auslesen while ( $row1 = mysql_fetch_array($result1) ) { $id_kategorie = $row1["id"]; $kategorie = $row1["kategorie"]; echo "<b>$kategorie</b><br>"; //Spieler der dazugehoerigen Kategorie abfragen; die id der Kategorie wird an die Abfrage uebergeben $sql2 = "SELECT vorname, name, kategorie FROM con_spieler WHERE kategorie = $id_kategorie ORDER BY name"; $result2 = @mysql_query($sql2); if (!$result2) { echo("<p>Fehler bei der Ausführung der Abfrage: " . mysql_error() . "</p>"); exit(); } while ( $row2 = mysql_fetch_array($result2) ) { $vorname = $row2["vorname"]; $name = $row2["name"]; echo $vorname." ".$name."<br>"; } echo " <br>"; } ?>
Bitte um Nachsicht, bin php-Anfänger
Gruß Mc
Was ist daran falsch?
Hier mein Versuch:
Code: Alles auswählen
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : Spielerliste
* Author(s) : Mc
* Created : 13-03-2006
************************************************/
$dbConnect = new DB_Contenido;
// alle Kategorien abfragen aus Tabelle con_spieler_kategorie
$sql1 = "SELECT id, kategorie FROM con_spieler_kategorie";
$result1 = @mysql_query($sql1);
if (!$result1) {
echo("<p>Fehler bei der Ausführung der Abfrage: " . mysql_error() . "</p>");
exit();
}
// alle Vereine abfragen aus Tabelle con_verein
$sql2 = "SELECT id, verein FROM con_verein";
$result2 = @mysql_query($sql2);
if (!$result2) {
echo("<p>Fehler bei der Ausführung der Abfrage: " . mysql_error() . "</p>");
exit();
}
// Kategorien und Vereine ins array $row auslesen
while ( $row1 = mysql_fetch_array($result1) and $row2 = mysql_fetch_array($result2) ) {
$id_kategorie = $row1["id"];
$kategorie = $row1["kategorie"];
$id_verein = $row2["id"];
$verein = $row2["verein"];
echo "<b>$kategorie"." "."$verein</b><br>";
//Spieler der dazugehoerigen Kategorie abfragen; die id der Kategorie wird an die Abfrage uebergeben
$sql3 = "SELECT vorname, name, kategorie, verein FROM con_spieler WHERE kategorie =$id_kategorie and verein = $id_verein ORDER BY name";
$result3 = @mysql_query($sql3);
if (!$result3) {
echo("<p>Fehler bei der Ausführung der Abfrage: " . mysql_error() . "</p>");
exit();
}
while ( $row3 = mysql_fetch_array($result3) ) {
$vorname = $row3["vorname"];
$name = $row3["name"];
echo $vorname." ".$name."<br>";
}
echo " <br>";
}
?>