[英]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.