Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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 von Dplus

  • 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.

  • 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.

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

  • 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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.