php 如何用foreach 将表中数据拼接显示

上图为数据库中的表数据,第一行为字段名,child_id代表为子类id,parent_id为父类id(暂时将所有产品的parent_id都认为是3,是固定的),我希望通过... 上图为数据库中的表数据,第一行为字段名,child_id代表为子类id,parent_id为父类id(暂时将所有产品的parent_id都认为是3,是固定的),我希望通过查询组合或者foreach能够将数据用以下形式进行显示。

就是每一种产品他在不同分类下的价格都显示在一行中 求大神帮助
展开
 我来答
清风之无痕岁月05
2015-11-18 · TA获得超过236个赞
知道小有建树答主
回答量:487
采纳率:77%
帮助的人:146万
展开全部
ID   u_name  price  preant_id
1     水果    
2     文具    
3     荔枝     12     1    
4     苹果     10     1    
5     香蕉     5     1    
6     橘子     3     1    
7     橙子     6     1    
8     铅笔     .5     2    
9     圆珠笔     1     2    
10     水笔     5     2    
11     电脑配件  0 
12     主板             11    
13     CPU             11    
14     显卡            11    
15     内存             11    
16     显示器          11    
17     散热风扇           11    
18     硬盘              11    
19     华硕主板     300     12    
20     技嘉主板     400     12    
21     GTX970显卡     1800     14    
22     GTX960显卡     1400     14    
23     金士顿2G内存     100     15    
24     I3 4160     600     13    
25     I5 2500K     800     13    
26     AOC 19寸     500     16    
27     宏基24寸     800     16    
28     60G硬盘     30     18    
29     80G硬盘     40     18    
30     散热400     40     17    
31     散热300     20     17

你数据库设计是这样设计..

SQL语句:

SELECT p1.u_name as 商品类型,p2.u_name as 商品名称 ,p2.price as 价格 from product p1,product p2 where p1.id=p2.preant_id

 

得到结果

商品类型 商品名称    价格
 
水果     荔枝     12    
水果     苹果     10    
水果     香蕉     5    
水果     橘子     3    
水果     橙子     6    
文具     铅笔     .5    
文具     圆珠笔     1    
文具     水笔     5    
电脑配件     主板    
电脑配件     CPU    
电脑配件     显卡    
电脑配件     内存    
电脑配件     显示器    
电脑配件     散热风扇    
电脑配件     硬盘    
主板     华硕主板     300    
主板     技嘉主板     400    
显卡     GTX970显卡     1800    
显卡     GTX960显卡     1400    
内存     金士顿2G内存     100    
CPU     I3 4160     600    
CPU     I5 2500K     800    
显示器     AOC 19寸     500    
显示器     宏基24寸     800    
硬盘     60G硬盘     30    
硬盘     80G硬盘     40    
散热风扇     散热400     40    
散热风扇     散热300     20
追问
大神 你的这个好像和我的那个问题不是一个意思啊。
追答
OOO我看错了么?
阳光上的桥
推荐于2016-03-04 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65817
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部

下面的代码测试通过,应该满足你的要求,希望对你编程所有帮助:

<?php
//例子数据
  $arr=array(
    array(1,'牙膏',15,0,3),
    array(2,'牙膏',34,1,3),
    array(3,'牙膏',53,2,3),
    array(4,'香蕉',54,0,3),
    array(5,'香蕉',35,1,3),
    array(6,'香蕉',73,2,3),
    array(7,'照相机',83,0,3),
    array(8,'照相机',42,1,3),
    array(9,'照相机',46,2,3)
  );
//生成结果数组
  $tab=array();
  foreach ($arr as $row){
//while($row=mysql_fetchrow($res)){//实际程序可能是这样从数据库读取
    $id=$row[0];
    $productname=$row[1];
    $price=$row[2];
    $id2=$row[3];
    if (!array_key_exists($productname,$tab)) $tab[$productname]=array($productname);
    $tab[$productname][100+$id2]=$price;
  }
//输出结果数组
  echo "<table>\n";
  foreach ($tab as $line){
    echo '<tr><td>'.implode('<td>',$line)."\n";
  }
  echo "</table>\n";
?>
追问
太感谢 大神了  必须采纳
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式