MySQL - Daten aus einer anderen Tabelle holen

laptop45276

Grünschnabel
Hallo,

ich habe jetzt stunden damit verbracht, das Prblem zu lösen ohne erfolgt.

Ich habe eine MySQL Datenbank mit insgesamt 3 Tabellen. 2 davon sind relevant:

Tabelle 1 (Bild 1) lautet: episode_watched, die Spalten `idShow`, `season`, `episode` und `lastPlayed` soll auf meiner Internetseite veröffentlich werden.
bild1.JPG

Soweit habe ich das hinbekommen (Bild3).
bild3.JPG

In der Tabelle 2 die tvshows heißt, gibt es 2 Spalten `idShow` und `title` (Bild2).
bild2.JPG

Nun möchte ich über die Abfrage, die ich bisher habe:

$sql = "SELECT DATE_FORMAT(`lastPlayed`, '%d.%m.%Y - %H:%i:%s')
AS `datum`, `idShow`, `season`, `episode` FROM `" . $mysql_table . "` ORDER BY `lastPlayed` DESC";

folgendes erreichen:

Bei der Abfrage, soll aus der Tabelle 1 `idShow` gelesen werden und den entsprechenden `Titel` aus Tabelle 2 ausgegeben werden.

Am Ende, möchte ich auf der Internetseite `idShow` stehen, haben. Aber nicht mehr mit den ID`s, sondern mit dem dazugehörigen Namen.

Internetseite ist PHP mit dem entsprechen MySQL-Code.

Wer hat eine Idee, bzw. wer kann mir einen entsprechenden Code in den obenstehenden integrieren. Wichtig: An der Datenbank selbst, oder in den Tabellen sollen selbst keine Änderungen vorgenommen werden.

Tausend Dank
 

Zvoni

Erfahrenes Mitglied
Aircode. Ungetestet
SQL:
SELECT
DATE_FORMAT(T1.`lastPlayed`, '%d.%m.%Y - %H:%i:%s') AS `datum`,
T2.`Title`,
T1.`season`,
T1.`episode`
FROM `" . $mysql_table1 . "` T1
INNER JOIN
`" . $mysql_table2 . "` T2 
ON 
T1.`idShow`=T2.`idShow`
ORDER BY T1.`lastPlayed` DESC";
 

Yaslaw

n/a
Moderator
Last die ' weg wenn der Name keine Leer- oder Sonderzeichen beinhaltet. Macht das ganze nur unlesbar.
Bei einfachem Text einfügen im PHP wird es mit {} viel lesbarer als das ZUsammensetzen.
PHP:
$sql = "SELECT
                DATE_FORMAT(t1.lastPlayed, '%d.%m.%Y - %H:%i:%s') AS datum,
                t2.Title, t1.season, t1.episode 
        FROM 
            {$mysql_table1} t1
            INNER JOIN {$mysql_table2} t2 
                ON t1.idShow=t2.idShow
        ORDER BY t1.lastPlayed DESC";
 

Zvoni

Erfahrenes Mitglied
Last die ' weg wenn der Name keine Leer- oder Sonderzeichen beinhaltet. Macht das ganze nur unlesbar.
Bei einfachem Text einfügen im PHP wird es mit {} viel lesbarer als das ZUsammensetzen.
Die Backticks sind dennoch notwendig zum escapen in MySQL, wenn reservierte Wörter als Feld- oder Tabellen-Namen benutzt werden.
Wer jedoch reservierte Keywords als Feld- oder Tabellen-Namen benutzt hat seinen Fehler schon beim Design gemacht. Weiss ich aus tatsächlicher Erfahrung. (Nicht ich selbst, aber ein Bekannter, dem ich helfen musste, eine MySQL-Anwendung zu debuggen)