输出一个类别,然后输出其中的产品

时间:2012-07-28 15:39:53

标签: php mysql

我在mysql数据库中有3个表,类别,产品和cat_pro,类别表包含类别,product表包含产品及其价格,cat_pro分别包含类别和产品的主键.A类可以包含众多产品。 类别表有category_id和类别名称,products表有product_id,product_name和price.cat_pro表在内连接期间使用,因为它包含类别和产品的外键。

我想要的是一个sql查询语句,它输出一个类别,后跟该类别中的产品及其价格,直到所有类别和产品都以垂直方式耗尽。 问题是以下面的方式输出信息。这是其产品所遵循的类别 例如

Category A
product 1 250$
product 2 450$
Category B
product 1 100$
product 2 400$
Category C
product 1 300$
product 2 100$

1 个答案:

答案 0 :(得分:1)

我看到你把你的问题标记为PHP,所以我会给你PHP-MySQL的方式来做。 代码应该是这样的(将列名称调整为您自己的架构)

<?php
$query = "SELECT * from category c inner join cat_pro cp on c.category_id = cp.category_id
  inner join product p on cp.product_id = p.product_id order by c.cateogry_id desc";
$res = mysqli_query($query);
$lastCat = "";
while($row = mysqli_fetch_array($res)) {
  if($lastCat != $row["category_name"]) echo $row["category_name"]."<br/>";
  echo $row["product_id"]." ".$row["product_price"]."&#36;<br/>";
}
?>