Hallo!
Ich habe ein kleines Problemchen. Ich schildere erst einmal meinen Aufbau und ein paar PHP-Dinge.
Ich habe eine Datenbank ("DatenbankX") und darin befinden sich 3 Tabellen:
news_kategorien
- kategorie_id
- kategorie_title
- kategorie_kurzform
news_posts
- posts_id
- posts_title
news_kategorien_posts
- kategorie_id
- posts_title
Das sind jeweils die Tabellennamen und die Spaltennamen.
Nun übergebe ich in PHP per GET einen Wert aus news_kategorien, und zwar tabelle3kurzform.
Nun muss ich über die Kurzform (Feld "kategorie_kurzform") an die entsprechende id gelanden (Feld "kategorie_id"). Habe ich diese herausgefunden, kann ich nachschauen, ob es in news_kategorien_id einen oder mehrere Einträge gibt, in denen die ID aus news_kategorien in der Spalte kategorie_id vorkommt. Dann kann ich das Feld "posts_id" auslesen und in der news_posts nach der ID suchen...
...hört sich komplizierter an, als es ist. In der Tabelle "news_kategorien" sind eben alle Kategorien aufgelistet. In der Tabelle "news_posts" alle Postings und die Tabelle "news_kategorien_posts" verwaltet die Zugehörigkeit von Post und Kategorie.
Bisher bin ich immer wie folgt vorgegangen:
-> Ermitteln von $_GET
-> SQL-Abfrage nach der passenden ID zu "kategorien_kurzform"
-> SQL-Abfrage mit Tabelle "news_kategorien_posts" und alle "posts_id" in ein Array geschrieben.
-> Das Array "explodieren" lassen und einen String erstellt (for each... $string .= AND (id = x))
-> Neue SQL-Abfrage mit dem gerade erstellten String
D.h. ich habe drei Abfragen benötigt...
...gibt es da nicht auch eine einfachere Möglichkeit?
Ist ja nicht so, als wenn ich mich nicht selbst damit beschäftigt hätte, aber ich komme nicht weiter. Ohne es erklären zu können, habe ich folgende SQL-Abfrage generiert:
Da bekomme ich allerdings einen Fehler und ich muss vorher immer noch die ID der Kurzform auslesen...
...Hat jemand einen Hinweis für mich? Auch ein Link wird gerne angenommen (auch wenn ich schon viel gelesen habe)...
Ich habe ein kleines Problemchen. Ich schildere erst einmal meinen Aufbau und ein paar PHP-Dinge.
Ich habe eine Datenbank ("DatenbankX") und darin befinden sich 3 Tabellen:
news_kategorien
- kategorie_id
- kategorie_title
- kategorie_kurzform
news_posts
- posts_id
- posts_title
news_kategorien_posts
- kategorie_id
- posts_title
Das sind jeweils die Tabellennamen und die Spaltennamen.
Nun übergebe ich in PHP per GET einen Wert aus news_kategorien, und zwar tabelle3kurzform.
Nun muss ich über die Kurzform (Feld "kategorie_kurzform") an die entsprechende id gelanden (Feld "kategorie_id"). Habe ich diese herausgefunden, kann ich nachschauen, ob es in news_kategorien_id einen oder mehrere Einträge gibt, in denen die ID aus news_kategorien in der Spalte kategorie_id vorkommt. Dann kann ich das Feld "posts_id" auslesen und in der news_posts nach der ID suchen...
...hört sich komplizierter an, als es ist. In der Tabelle "news_kategorien" sind eben alle Kategorien aufgelistet. In der Tabelle "news_posts" alle Postings und die Tabelle "news_kategorien_posts" verwaltet die Zugehörigkeit von Post und Kategorie.
Bisher bin ich immer wie folgt vorgegangen:
-> Ermitteln von $_GET
-> SQL-Abfrage nach der passenden ID zu "kategorien_kurzform"
-> SQL-Abfrage mit Tabelle "news_kategorien_posts" und alle "posts_id" in ein Array geschrieben.
-> Das Array "explodieren" lassen und einen String erstellt (for each... $string .= AND (id = x))
-> Neue SQL-Abfrage mit dem gerade erstellten String
D.h. ich habe drei Abfragen benötigt...
...gibt es da nicht auch eine einfachere Möglichkeit?
Ist ja nicht so, als wenn ich mich nicht selbst damit beschäftigt hätte, aber ich komme nicht weiter. Ohne es erklären zu können, habe ich folgende SQL-Abfrage generiert:
Code:
SELECT * FROM news_posts WHERE ($ermittelte_id = news_kategorien_posts.kategorie_id) AND (news_posts.posts_id = news_kategorien_posts.post_id)
...Hat jemand einen Hinweis für mich? Auch ein Link wird gerne angenommen (auch wenn ich schon viel gelesen habe)...
Kommentar