Veröffentlicht 10. August 201015 j 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 201015 j von Dplus
10. August 201015 j 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.
10. August 201015 j Autor 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.
10. August 201015 j Autor 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.
10. August 201015 j 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
10. August 201015 j Autor 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
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.