繁体   English   中英

从3个表中检索PHP MySQL数据

[英]PHP MySQL data retrieve from 3 tables

有3个表:

第一个表(oc_product_to_category):

在此处输入图片说明

第二张表(oc_product_description):

在此处输入图片说明

第三张表(oc_product):

在此处输入图片说明

我想列出此div的category_id为59的产品名称,图片,价格:

<div class="content" style="">
                <h1>'Product image'</h1>
                <h3>Product name and price</h3>
</div>

我是使用多个表的初学者。 有人可以帮我吗?

<?php 
    $servername = "localhost";
    $username = ""; 
    $password = ""; 
    $dbname = ""; 
    $conn = new mysqli($servername, $username, $password, $dbname);
    if ($conn->connect_error) { 
        die("Connection failed: " . $conn->connect_error);
    } 
    $sql = "SELECT product_id FROM oc_product_to_category WHERE category_id='62'";
    $result = $conn->query($sql);
    if ($result->num_rows > 0) { // output data of each row
        while($row = $result->fetch_assoc()) { 
            echo "<div class='content' style=''> <h1>Orbit does content now.</h1> <h3>" . $row["product_id"]. "</h3> </div>";
    } } 
    $conn->close(); 
 ?> 

更新 :oc_product表中的价格

在我看来,这更多是与SQL有关的问题,而不是与PHP有关的问题。 在每个表中,您都有一个product_id列,因此可以将其用作外键。 SQL应该类似于:

SELECT 
    pd.name, p.image 
FROM 
    oc_product_to_category ptc 
JOIN 
    oc_product_description pd ON ptc.product_id=pd.product_id 
JOIN 
    oc_product p ON ptc.product_id=p.product_id
WHERE
    ptc.category_id=59;

如果使用php进行此查询,则会得到一个数组,其中包含与给定category_id.匹配的每一行的名称和图像category_id.

PS:我没有找到任何价格栏。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM