[英]How to display data one to many relationship using php and mysql
I have a lot of products and each product has many flavour.我有很多产品,每种产品都有很多味道。 How can i display one product name with multiple flavor.如何显示一个具有多种风味的产品名称。 below is the script that i have tried.下面是我尝试过的脚本。 It doesn't display anything.它不显示任何内容。 I'm really new to php.我真的是 php 的新手。
$res = $conn->query("SELECT as_product.p_id,GROUP_CONCAT(as_product_flavour.pfl_prod_id) as flavours FROM as_product
LEFT JOIN as_product_flavour ON as_product.p_id = as_product_flavour.pfl_prod_id
WHERE as_product.p_id = 28 GROUP BY as_product.p_id");
$currGroup = -1;
while($row = $res->fetch_assoc())
{
echo 'Product Name: '.$row['product_name'];
if($row['flavours'] != $currGroup)
{
$currGroup = $row['p_id'];
echo 'Flavour Id: ' . $row['pfl_id'] . '\n';
echo 'Falvour Name: ' . $row['pfl_flavour'] . '\n';
}
}
I would start with a simpler query...我将从一个更简单的查询开始......
SELECT p.p_id
, f.pfl_prod_id
FROM as_product p
LEFT
JOIN as_product_flavour f
ON p.p_id = f.pfl_prod_id
WHERE p.p_id = 28
...and handle any remaining display issues in the application code, so a simple transformation of your resulting array. ...并处理应用程序代码中任何剩余的显示问题,从而对结果数组进行简单的转换。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.