ecshop首页如何实现调用最新下单购买的商品滚动代码

实现ecshop首页最新下单方法如下:

从网上找到ecshop的数据字典,看了看 和咱们相关的表有三个ecs_order_info,ecs_order_goods,ecs_users,分别存储了订单信息,订单对应的商品信息和购买商品的用户信息。这三个表同 user_id,order_id和goods_id三个key来联系。

在index.php中最下面添加如下代码

[php]

/**
         * 调用获取最新购买者和物品檠?         *
         * @access  private
         * @return  array
         */
        function index_get_recent_buy_query()
        {
            $sql = 'SELECT ecs_users.user_name, ecs_order_goods.goods_id,
                     ecs_order_goods.goods_name, ecs_order_info.add_time
                    FROM ecs_users, 
                    (
                        SELECT order_id, user_id, add_time
                        FROM ecs_order_info
                        ORDER BY ecs_order_info.add_time DESC 
                        LIMIT 0 , 20
                    ) AS ecs_order_info, 
                    ecs_order_goods
                    WHERE ecs_order_info.order_id = ecs_order_goods.order_id
                    AND ecs_order_info.user_id = ecs_users.user_id;';
 
            $all = $GLOBALS['db']->getAll($sql);
 
            $arr = array();
 
            foreach ($all AS $idx => $row)
            {
                $arr[$idx]['username']  = $row['user_name'];
                $arr[$idx]['goodName']  = $row['goods_name'];
                $arr[$idx]['goodID']    = $row['goods_id'];
                $arr[$idx]['add_time']  = local_date(
                  $GLOBALS['_CFG']['date_format'], $row['add_time']);
            }
 
            return $arr;
        }

[/php]

然后再找到$smarty->assign('new_articles',    index_get_new_articles());   // 最新文章

在下面添加

[php]

$smarty->assign('recent_buys',     index_get_recent_buy_query());//获取最新的购买者信息

[/php]

然后在模板里面添加相应的位置

[php]

<!--{if $recent_buys}-->
    <ul> 
    {foreach from=$recent_buys item=buy_info}
    <li>· {$buy_info.username} 在 {$buy_info.add_time} 买了<a href='goods.php?id={$buy_info.goodID}'> {$buy_info.goodName}</a></li>
   {/foreach}
    </ul>
<!-- {/if} -->

[/php]

 

大家注意看上面的是来说明你的模板内容基本信息的,我这里是utf8,如果你是gbk,要改成gbk哦。 是和我们上面php程序里面的$smarty->assign(’recent_buys’, index_get_recent_buy_query())对应的,若果你给recent_buys赋值, 并且这个值不为空或者0的话才显示咱们的模板内容。我们重点看,foreach是smarty模板内置函数,其 主要作用是遍历传入的数组,然后生成内容,类似于其他语言里面的foreach。这句话就是遍历recent_buys,然后把每次遍历的项做buy_info,其实这个buy_info 就是咱们数据的2维数组的第二维了。你可以直接用{$buy_info.goodName}这种形式来调用你数组传入的内容。用smarty模板绝对的数据和现实分离,很爽的。 

  下面你在你需要显示的地方加入就可以显示了。

提示:sql调用的时候一定要注意表名要换成你自己的表名

下载说明: 帮助教程
1.资源失效请联系QQ:1138166071补发;寻课加QQ联系
2.资源均为网络收集,仅供参考研究,请在下载后24小时内删除。不要商用和非法用途,否则后果自己承担。
3.默认解压密码:blog.qdql.net
4.购买本站资源即代表同意本站免责协议
5.提示:本站资源属虚拟商品,购买后恕不退款。
6.特别声明本站资源部分来源于网络,如有侵权,请联系站长进行删除处理!
本文地址:http://blog.qdql.net/1485/

发表评论


表情