主页 » 建站笔记 » 正文

DEDECMS从数据库中调取ECSHOP在售商品和拍卖商品

 bandian 4,006 ℃ 0条点评
小号字体中号字体大号字体
调敢商品:调取拍卖活动: 调取数据库当然要用到 DEDECMS 万能标签{dede:sql},下面的代码只适用于 DEDECMS 和 ECSHOP 在同一个数据库的情况。...

调取数据库当然要用到 DEDECMS 万能标签{dede:sql},下面的代码只适用于 DEDECMS 和 ECSHOP 在同一个数据库的情况。

调敢商品:

{dede:sql sql="select * from ecs_goods where cat_id=1 and is_delete=0 ORDER BY add_time DESC limit 12;"}
<li>
<div class="goods_list">
<div class="goods_img" align="center"><a href="/shop/goods.php?id=[field:goods_id/]" target="_blank" rel="external nofollow" ><img class="lazy " src="https://www.augsky.com/wp-content/plugins/jquery-image-lazy-loading/images/grey.gif" data-original="/shop/[field:goods_thumb/]" alt="[field:goods_name/]" border="0"/><noscript><img src="/shop/[field:goods_thumb/]" alt="[field:goods_name/]" border="0"/></noscript></a></div>
<div class="goods_name"><a class="name_t" title="[field:goods_name/]" href="/shop/goods.php?id=[field:goods_id/]" target="_blank" rel="external nofollow" ></a><a class="name_b" title="[field:goods_name/]" href="/shop/goods.php?id=[field:goods_id/]" target="_blank" rel="external nofollow" >[field:goods_name/]<span>¥[field:shop_price/]</span></a></div>
</div>
</li>
    {/dede:sql}

sql部分简单说明:查询表ecs_goods,cat_id是商品分类的ID;is_delete=0是过滤掉已经删除的商品;然后将数据以添加时间倒序排列取前12条。

调取拍卖活动:

{dede:sql sql="select g.*,c.*,FROM_UNIXTIME(c.end_time,'%Y-%m-%d %H:%i:%s') as tim,FROM_UNIXTIME(c.start_time,'%Y-%m-%d %H:%i:%s') as stim from ecs_goods as g,ecs_goods_activity as c where g.goods_id=c.goods_id and c.act_type=2 and is_finished=0 and UNIX_TIMESTAMP()<end_time ORDER BY c.end_time ASC limit 8;"}
  

<li>
<div class="auction"><a title="[field:act_name/]" target="_blank" href="/shop/auction.php?act=view&id=[field:act_id/]" rel="external nofollow" ><img class="lazy " src="https://www.augsky.com/wp-content/plugins/jquery-image-lazy-loading/images/grey.gif" data-original="/shop/[field:goods_thumb/]" alt="[field:act_name/]" /><noscript><img src="/shop/[field:goods_thumb/]" alt="[field:act_name/]" /></noscript>
<div class="daojishi"><span class="djsp">剩余时间:</span><span class="yomibox" data-stime="[field:stim/]" data="[field:tim/]"></span></div>
</a></div>
</li>
 {/dede:sql}

ECSHOP中是用ecs_goods_activity这张表来存储所有的促销活动的,所以要查询ecs_goods和ecs_goods_activity这两张表;
因为数据表中保存的时间是以Unix时间戳保存的,所以上面在查询的时候将表中的结束时间和开始时间用FROM_UNIXTIME()函数做了格式化处理;
act_type是促销活动的类型,值为2时就是只要拍卖活动;
is_finished=0是只显示未完成的活动;
用UNIX_TIMESTAMP()获取当前时间,当前时间小于结束时间可以过滤掉已经结束了的活动。如果要只显示当前正在进行的活动的话可以再加一个条件:UNIX_TIMESTAMP()>start_time;
最后将数据以结束时间正序排列取前面的8条。

上一篇:你不知道的微信秘籍:史上最全微信QQ表情雨
下一篇:让ECSHOP查看未上架商品时显示该商品未上架不能购买
版权信息
本文遵循 BY-NC-SA 共享方式,永久链接:https://www.augsky.com/?p=971
转载请注明转自 » 格部落格 » DEDECMS从数据库中调取ECSHOP在售商品和拍卖商品

已有0条评论,欢迎点评!

骚年,现在来一发沙发就是你的。