Ich habe folgende Mysql Tabelle:Wie zeigen Sie alle Daten aus mehreren Tabellen mit SQL JOIN-Abfrage?
1) Produkte
2) product_images
3) product_date_time
4) product_menu
5) chef_profile
I alle Daten aus dieser 5 Tabelle zeigen, müssen eine Seite namens menu-details.php
Alle Tabelle haben foreign key
als p_id
products
Tabelle ID und einige Tabelle haben mehrere dat a desselben p_id
.
diese Abfrage mysql Werden Sie Fan ich bin mit zu erledigen:
$query = mysqli_query($conn, "SELECT p.p_id, p.p_title, p.p_description,
p.p_price, p.p_availability, p.delivery_option, p.event_location,
pimg.p_large_image, pimg.p_small_image, pdt.date, pm.p_menu_title,
pm.p_menu_description, pm.p_menu_price, pm.p_menu_availability, chef.fname,
chef.lname, chef.chef_details FROM products as p LEFT JOIN product_images as
pimg ON p.p_id = pimg.p_id LEFT JOIN product_date_time as pdt ON pdt.p_id =
p.p_id LEFT JOIN product_menu as pm ON pm.p_id = p.p_id LEFT JOIN
chef_profile AS chef ON chef.u_id = p.u_id WHERE p.p_id = '$mid' ") or
die('wrong query');
Daten zu zeigen, dass ich folgende PHP-Code verwende:
$result = mysqli_fetch_array($query);
$menu_title = htmlspecialchars($result['p_title']);
Meine Fragen
Soll ich 5 eindeutige sql query verwenden, um Daten zu dieser menu_details.php Seite anzuzeigen?
Jetzt zeigt diese Abfrage einen einzelnen Datensatz aus dieser Tabelle, die mehrere Daten desselben
p_id
haben. Ich muss alle Daten zeigen, diep_id
mit mehreren Daten haben. Wie kann ich das machen ?Zum Beispiel: Ich habe folgende Daten in
product_images
Tabelle:pimg_id p_large_image p_id u_id 1 name 203 25 1 name 204 26 1 name 204 25 1 name 205 27 1 name 205 28
Wenn ich also php while
Schleife verwenden Sie es aus dieser Tabelle alle Daten ist zeigt, aber es ist sein sollten alle Daten auf p_id
basierend zeigen für zB p_id
= 204
while($result = mysqli_fetch_array($query)) {
echo $menu_l_image = htmlspecialchars($result['p_large_image']);
echo '<br/>';
}
verwenden Haben Sie ein Beispiel dafür, was man das Ergebnis erwarten aussehen? – shamsup
Ja, ich habe. Lassen Sie mich Ihnen –
zeigen Ich aktualisierte meine Frage –