我有两张桌子。一个advt
和第二个category
。我需要显示cat_id
来自advt
的表类别中的数据。我无法显示类别。
我的问题是如何显示category,subcategory和subcat名称而不是cat_id
。我能够显示cat_id
但无法显示category
表中的类别名称,其中名称为product
table- advt:
表 - 类别:
我的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();
}
?>
答案 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