php 如何用foreach 将表中数据拼接显示
上图为数据库中的表数据,第一行为字段名,child_id代表为子类id,parent_id为父类id(暂时将所有产品的parent_id都认为是3,是固定的),我希望通过...
上图为数据库中的表数据,第一行为字段名,child_id代表为子类id,parent_id为父类id(暂时将所有产品的parent_id都认为是3,是固定的),我希望通过查询组合或者foreach能够将数据用以下形式进行显示。
就是每一种产品他在不同分类下的价格都显示在一行中 求大神帮助 展开
就是每一种产品他在不同分类下的价格都显示在一行中 求大神帮助 展开
2个回答
展开全部
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我看错了么?
展开全部
下面的代码测试通过,应该满足你的要求,希望对你编程所有帮助:
<?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";
?>
追问
太感谢 大神了 必须采纳
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询