Hallo,
nach dem ich alles mögliche über JOIN's gelesen und ausprobiert habe, versuche ich es anzuwenden.
Ich möchte mit nächstes Bild und vorheriges Bild in einer Tabelle mit darin sortierten Bildern blättern.
Die Tabellen:
thema_alben enthält ein vorgegebenes Thema zB. 11 und die zum Thema gehörenden Alben in der in Folge festgelegten Reihenfolge
Alben_ID...........z.B. 45, 68, 72, 82, 91
Thema_ID..........z.B 11
Folge................ 1, 2, 3, 4, 5
alben JOIN zur Tabelle thema_alben
ID.....................(z.b. Folge = 3 -> Album 72)
fotos JOIN zur Tabelle alben
Alben_ID.............72
Beschreibung like '00%' (nur das erste Bild des Alben)
Ausgabe: das 1. Bild im Album 72
z.B. nächstes Bild d.h. Folge 4 müßte ergeben das 1. Bild im Album 82
z.B. vorheriges Bild d.h. Folge 2 müßte ergeben das 1. Bild im Album 68
Die Abfrage für vorheriges Bild (Folge < ) habe ich so versucht:
(nächstes Bild analog mit Folge >)
Ich bekomme die Syntaxerror-Meldung:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LEFT JOIN alben WHERE ID = thema_alben.Alben_ID L' at line 16
Egal ob ich WHERE oder ON einsetze oder die Reihenfolge der Tabellen verändere, es kommt ständig eine Error-Meldung.
Kann mir bitte jemand sagen welchen Fehler ich in der Abfrage habe?
nach dem ich alles mögliche über JOIN's gelesen und ausprobiert habe, versuche ich es anzuwenden.
Ich möchte mit nächstes Bild und vorheriges Bild in einer Tabelle mit darin sortierten Bildern blättern.
Die Tabellen:
thema_alben enthält ein vorgegebenes Thema zB. 11 und die zum Thema gehörenden Alben in der in Folge festgelegten Reihenfolge
Alben_ID...........z.B. 45, 68, 72, 82, 91
Thema_ID..........z.B 11
Folge................ 1, 2, 3, 4, 5
alben JOIN zur Tabelle thema_alben
ID.....................(z.b. Folge = 3 -> Album 72)
fotos JOIN zur Tabelle alben
Alben_ID.............72
Beschreibung like '00%' (nur das erste Bild des Alben)
Ausgabe: das 1. Bild im Album 72
z.B. nächstes Bild d.h. Folge 4 müßte ergeben das 1. Bild im Album 82
z.B. vorheriges Bild d.h. Folge 2 müßte ergeben das 1. Bild im Album 68
Die Abfrage für vorheriges Bild (Folge < ) habe ich so versucht:
(nächstes Bild analog mit Folge >)
PHP-Code:
$sql = "SELECT
thema_alben.Thema_ID AS Thema,
thema_alben.Alben_ID AS Album,
thema_alben.Folge AS Reihenfolge,
fotos.Name AS Fotobez,
alben.ID,
fotos.Alben_ID,
fotos.Beschreibung AS Fototext,
foto.Name AS Fotobez
FROM
thema_alben
WHERE
Thema_ID = '".$_GET['thema']."'
AND
Folge < '".$_GET['folge']."'
JOIN
alben
WHERE
ID = thema_alben.Alben_ID
JOIN
fotos
WHERE
Alben_ID = alben.ID
AND
Beschreibung like '00%'
ORDER BY
thema_alben.Folge DESC
LIMIT
1
";
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LEFT JOIN alben WHERE ID = thema_alben.Alben_ID L' at line 16
Egal ob ich WHERE oder ON einsetze oder die Reihenfolge der Tabellen verändere, es kommt ständig eine Error-Meldung.
Kann mir bitte jemand sagen welchen Fehler ich in der Abfrage habe?
Kommentar