实现京东那个订单列表,商品图片可多张展示遇到的问题请看下?

2016-07-07 15:01 来源:www.chinab4c.com 作者:ecshop专家

订单已经都可以调出来了,但是图片我的思路是 追加方法,参数:user_id
1.通过user_id去ecs_order_info表查出该用户有多少order_id 然后foreach遍历
2.通过遍历的order_id结果 放到sql语句里做等值条件,通过这个查询出来的order_id去ecs_order_goods表查询出该用户所有订单商品的goods_id号,然后继续遍历
3.通过遍历得到的key=>val goods_id去ecs_goods表查询每个商品的goods_thumb,

以上的结构是三个foreach嵌套,代码如下:

foreach get_picture_orders_shop($user_id)
{
$arr = array();
$mod = array();
$pict_g = array();

//通过$user_id去查询出该用户的所有订单ID
$sql_o_info = " SELECT order_id FROM " . $GLOBALS['ecs']->table('order_info') . " WHERE user_id = " . $user_id . " ORDER BY order_id DESC ";
$res = $GLOBALS['db']->getAll($sql_o_info);
foreach ($res as $key => $val)
{
$arr[$key]['order_id'] = $val['order_id'];
//通过循环订单ID去查询商品的ID
$sql_o_goods = "SELECT * FROM " . $GLOBALS['ecs']->table('order_goods') . " WHERE order_id = " . $arr[$key]['order_id'] ;
$result = $GLOBALS['db']->getAll($sql_o_goods);

foreach ($result as $val_g)
{
$mod[$key]['goods_id'] = $val_g['goods_id'];
//print_r($mod);
//通过循环商品ID去查询商品的图片
$sql_goods = "SELECT * FROM " . $GLOBALS['ecs']->table('goods') . " WHERE goods_id = " . $mod[$key]['goods_id'] ;
$result_g = $GLOBALS['db']->getAll($sql_goods);
foreach ($result_g as $row_g)
{
$pict_g[$key]['goods_thumb'] = $row_g['goods_thumb'];

}
}
}
}

这个方法整个流程测试上半部分都实现了,但是最后在打印print_r($pict_g)的时候,结果却是一个订单取一个goods_thumb,看了下数组,array[0](
[0] http://图片地址
)
array[0](
[1] http://图片地址
)
array[1](
[0] http://图片地址
)
发现该订单有两个商品只取了一个,不知道为什么结果会是这样的,而且目前也想不出来怎么关联订单,让显示的页面每个订单有几个商品就显示几张商品的图片(一个商品一个图片)和京东的一样
想了想是否还需要再方法处多追加一个参数?order_id? 请高人指点一下 谢谢

回答:
有人能指点下嘛?

支持楼主

谢谢、共同学习