繁体   English   中英

3表1查询嵌套结果-Mysql-Php

[英]3 Tables 1 Query for Nested Result - Mysql - Php

我有3张桌子。

产品

id  name
1   tv
2   phone

类别

id name
1  electronics
2  gift

关系

pid cid
1   1
2   1
2   2

我想要什么?

我想使用sql查询和php显示具有此类类别的产品。

<h1>tv</h1>
<span>electronics</span>

<h1>phone</h1>
<span>electronics</span>
<span>gift</span>

我能做什么?

使用JOIN和foreach我可以得到以下结果。 但是我不想要那样。

<h1>tv</h1>
<span>electronics</span>

<h1>phone</h1>
<span>electronics</span>

<h1>phone</h1>
<span>gift</span>

您达到结果的最有效的查询和循环方法是什么?

如果您按产品订购,则可以执行此操作

while($row=$result->fetch_object()){
$product=$row->product;
$category=$row->category;
if($product==$pcheck){
echo "<span>$category</span>";
}
else{
echo "<h1>$product</h1><span>$category</span>";
}
$pcheck=$product;
}

根据您的数据,您也可以执行此操作

while($row=$result->fetch_object()){
$x[$row->product][]="<span>$row->category</span>";
}
foreach ($x as $product=>$categories){
echo "<h1>$product</h1>".implode("",$categories);
}

暂无
暂无

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

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