Hallo,
jetzt google und such ich schon wieder seit Stunden herum, komm aber nicht auf die Lösung des Problems. Ich würde mich freuen, wenn mir jemand helfen könnte.
Folgendes:
Ich habe 3 Tabellen (images, payments, recipes) und habe derzeit 2 getrennte SELECT-Abfragen, welche ich zu einer machen möchte. Leider klappt das nicht so ganz.
1. Abfrage
2. Abfrage
So wie es jetzt ist funktioniert alles. Bei der 1. Abfrage werden die Rezept-Infos geladen die in der Tabelle payments mit der User-ID noch NICHT gespeichert sind. Payments sieht so aus: id, user_id, recipe_id
Und es werden eben nur jene Rezepte geladen die in payments dem user noch NICHT zugeordnet sind.
Gleiches soll jetzt mit den Bilder-Namen geschehen. Es sollen all jene Bilder-Namen aus images geladen werden, die zu den Rezepten gehören die der Benutzer noch nicht in payments stehen hat.
Ich dachte mir dass man diese beiden Abfragen vereinen kann, da nur eine WHERE-Bedingung hinzugefügt werden müsste und ein SELECT (images.image_name). Leider klappt das nicht wirklich...
Hat jemand einen Vorschlag? Ich wäre sehr dankbar für jede Hilfe!
MfG Toni
jetzt google und such ich schon wieder seit Stunden herum, komm aber nicht auf die Lösung des Problems. Ich würde mich freuen, wenn mir jemand helfen könnte.
Folgendes:
Ich habe 3 Tabellen (images, payments, recipes) und habe derzeit 2 getrennte SELECT-Abfragen, welche ich zu einer machen möchte. Leider klappt das nicht so ganz.
1. Abfrage
Code:
$sql = 'SELECT `recipes`.`id`, `recipes`.`title`, `recipes`.`category`, `recipes`.`cuisine`, `recipes`.`difficulty`, `recipes`.`description`, `recipes`.`rating`, `recipes`.`price` FROM `recipes` LEFT OUTER JOIN payments p ON p.recipe_id = recipes.id AND p.user_id = ? WHERE p.id IS NULL ORDER BY `recipes`.`id` ASC LIMIT ?, ?'; $show_recipes = $db->prepare($sql); $show_recipes->bind_param('iii', $_SESSION['userid'], $limit, $r_per_page);
Code:
$sql = 'SELECT `images`.`image_name` FROM `images` LEFT OUTER JOIN payments p ON p.recipe_id = images.recipe_id AND p.user_id = ? WHERE p.id IS NULL AND `images`.`preview` = 1 ORDER BY `images`.`recipe_id` ASC LIMIT ?, ?'; $get_image = $db->prepare($sql); $get_image->bind_param('iii', $_SESSION['userid'], $limit, $r_per_page);
Und es werden eben nur jene Rezepte geladen die in payments dem user noch NICHT zugeordnet sind.
Gleiches soll jetzt mit den Bilder-Namen geschehen. Es sollen all jene Bilder-Namen aus images geladen werden, die zu den Rezepten gehören die der Benutzer noch nicht in payments stehen hat.
Ich dachte mir dass man diese beiden Abfragen vereinen kann, da nur eine WHERE-Bedingung hinzugefügt werden müsste und ein SELECT (images.image_name). Leider klappt das nicht wirklich...
Hat jemand einen Vorschlag? Ich wäre sehr dankbar für jede Hilfe!
MfG Toni
Comment