从其他表中显示mysql数据库数据

时间:2018-01-05 05:11:50

标签: php mysql sql

我有两张桌子。一个advt和第二个category。我需要显示cat_id来自advt的表类别中的数据。我无法显示类别。

我的问题是如何显示category,subcategory和subcat名称而不是cat_id。我能够显示cat_id但无法显示category表中的类别名称,其中名称为product

table- advt:

enter image description here

表 - 类别:

enter image description here

我的php代码如下:

<?php 
include('include/config.php');


if($stmt = $connection->prepare("SELECT 
                                 a.ad_id, 
                                 a.cus_id,
                                 a.ad_name,
                                 a.category,
                                 a.subcategory,
                                 a.subcat
                                 FROM `advt` a 
                                 INNER JOIN `category` b
                                 ON a.category = b.cat_id AND a.subcategory = b.cat_id AND a.subcat = b.cat_id GROUP BY a.ad_id
                                 ")){ 


       $stmt->execute(); 
       $stmt->store_result(); 
       $stmt->bind_result($ad_id, $cus_id, $ad_name, $category, $subcategory, $subcat);   

       while($stmt->fetch()){ 
       ?>

        <tr class="example">
            <td><a href="details1/<?php echo $cus_id;?>/<?php echo $ad_id;?>"><?php echo  "<img src=ad/data/img/$cus_id/$ad_id/$img_name  width='180' height='120'><br>";?></a></td>
            <td><?php echo $ad_id; ?></td>
            <td><?php echo $cus_id; ?></td>
            <td><?php echo $ad_name; ?></td>
            <td><?php echo $category; ?></td>
            <td><?php echo $subcategory; ?></td>
            <td><?php echo $subcat; ?></td>
         </tr>

        <?php
       } 
       $stmt->close();
       } 

?>

2 个答案:

答案 0 :(得分:1)

如果您的category,subcategory和subcat都是对类别表的引用,那么可以使用以下查询来获取类别的名称:

SELECT 
    a.ad_id, 
    a.cus_id,
    a.ad_name,
    b.product as category,
    c.product as subcategory,
    d.product as subcat
FROM `advt` a 
INNER JOIN `category` b
ON a.category = b.cat_id 
INNER JOIN `category` c
ON a.subcategory = c.cat_id 
INNER JOIN `category` d
ON a.subcat = d.cat_id 

答案 1 :(得分:0)

如果您只想要类别名称,请使用以下查询。

JOIN cat_id上的两个表格然后将产品添加到SELECT部分并删除GROUP BY(我们假设类别表格不会重复{ {1}})。

cat_id