【问题标题】:3 Tables 1 Query for Nested Result - Mysql - Php3 表 1 查询嵌套结果 - Mysql - Php
【发布时间】:2014-12-28 01:33:13
【问题描述】:

我有 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>

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

【问题讨论】:

  • 如果回答有帮助请标记为正确

标签: php mysql sql


【解决方案1】:

如果您按产品订购,您可以这样做

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);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-18
    • 1970-01-01
    • 1970-01-01
    • 2011-06-01
    • 2014-08-26
    • 1970-01-01
    • 1970-01-01
    • 2021-08-13
    相关资源
    最近更新 更多