Dplus Geschrieben 10. August 2010 Geschrieben 10. August 2010 (bearbeitet) Moin bin da recht neu auf dem Gebiet von PHP & MySQL Ich möchte da 1 Datensatz über PHP auslesen und mir anzeigen lassen. Hab es soweit auch schon hinbekommen. Nun kommt das Problem in dem Datensatz der ausgelesen wird gibt es eine Tabelle songID dort steht nur eine Nummer. Diese songID müsste ich nun aus einem anderen Datensatz auslesen wo die Informationen über Künstler Titel und so stehen. Hier mal mein erstes Ergebniss: http://deinradio.com/abfrage/djadmin.php In der 2. Zeile sieht man die SongID dort soll aber der Künstler und der Titel stehen. Das befindet sich in einem anderen Datensatz (songlist unter artist und Title) Und diese Verbindung bekomme ich nicht hin. Google mag mir da auch nicht wirklich weiter helfen bzw ich versteh det nicht was ich da finde. Eventuell findet sich ja hier einer der mir helfen kann. Hier nun mein Quellcode: djadmin.php <?php require_once ('konfiguration.php'); $db_link = mysql_connect (MYSQL_HOST, MYSQL_BENUTZER, MYSQL_KENNWORT); $db_sel = mysql_select_db( MYSQL_DATENBANK ) or die("Auswahl der Datenbank fehlgeschlagen"); $sql = "SELECT * FROM requestlist"; $db_erg = mysql_query( $sql ); if ( ! $db_erg ) { die('Ungültige Abfrage: ' . mysql_error()); } echo '<table border="1">'; while ($zeile = mysql_fetch_array( $db_erg, MYSQL_ASSOC)) { echo "<tr>"; echo "<td>". $zeile['ID'] . "</td>"; echo "<td>". $zeile['songID'] . "</td>"; echo "<td>". $zeile['t_stamp'] . "</td>"; echo "<td>". $zeile['msg'] . "</td>"; echo "<td>". $zeile['name'] . "</td>"; echo "<td>". $zeile['status'] . "</td>"; echo "</tr>"; } echo "</table>"; mysql_free_result( $db_erg ); ?> [/PHP] konfiguration.php [PHP] <?php error_reporting(E_ALL); define ( 'MYSQL_HOST', 'localhost' ); define ( 'MYSQL_BENUTZER', 'dbuser' ); define ( 'MYSQL_KENNWORT', 'dbpass' ); define ( 'MYSQL_DATENBANK', 'SAMDB' ); ?> Ans Design mach ich mich später Bearbeitet 10. August 2010 von Dplus Zitieren
flashpixx Geschrieben 10. August 2010 Geschrieben 10. August 2010 Das ist an sich kein PHP Problem. Du musst Deinen Datenbank SQL Select mit Hilfe eines Joins, der die ID der Tabellen verknüpft, abändern. Zitieren
Dplus Geschrieben 10. August 2010 Autor Geschrieben 10. August 2010 Wenn falsche Baustelle bitte verschieben.. Danke flashpixx, dass war genau der Anhaltspunkt nach dem ich suchen musste. $sql = "SELECT * FROM requestlist LEFT JOIN songlist ON requestlist.songID=songlist.ID"; Nun wird es so angezeigt wie ich möchte. Zitieren
Dplus Geschrieben 10. August 2010 Autor Geschrieben 10. August 2010 Nun hab ich das nächste problem: beide Datensätze haben eine Tabelle "status" Ich möchte aber nur den Status aus "requestlist" angezeigt bekommen. Jetzt wird aber der Status aus "songlist" angezigt. Zitieren
flashpixx Geschrieben 10. August 2010 Geschrieben 10. August 2010 benutze anstatt dem * in der Abfrage die konkreten Felder der Tabelle und erzeuge im Resultset mit AS einen entsprechenden Bezeichner. Ich würde Dir aber dringend einmal ein entsprechendes Tutorials / Buch über den SQL Syntax empfehlen Zitieren
Dplus Geschrieben 10. August 2010 Autor Geschrieben 10. August 2010 Ich würde Dir aber dringend einmal ein entsprechendes Tutorials / Buch über den SQL Syntax empfehlen Ja ich weiß, hab hier auch ne Menge an Anleitungen auf der Platte. Hab ja auch schon so manches verstanden. Mit dem AS bekomm noch garnet hin. Kommt nur Müll in der Ausgabe oder syntax Fehler. Habs aber nun hinbekommen. Manchmal sieht man den Wald vor lauter Bäume nicht. :upps Nun wird alles genau angezeigt aus den entsprechenden Tabellen. Hab aus $sql = "SELECT * FROM requestlist LEFT JOIN songlist ON requestlist.songID=songlist.ID"; $sql = "SELECT * FROM songlist RIGHT JOIN requestlist ON requestlist.songID = songlist.ID " ; [/PHP] gemacht. Ich danke dir für deine Hilfe Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.