group_buy_stat调用ecshop团购商品数量
2009-10-30 11:01 来源:www.chinab4c.com 作者:ecshop专家
在ecshop中,团购是ecshop的一个比较有特色的功能,在前台group_buy.php就是来处理ecshop团购信息的。包括购买行为和团购信息的列表。分析includes/lib_goods.php中的。group_buy_stat()函数,他的格式为下group_buy_stat($group_buy_id, $deposit)。第一个参数表示团购的ID,第二个参数就是保证金。
/* 取得总订单数和总商品数 */
$group_buy_id = intval($group_buy_id);
$sql = "SELECT COUNT(*) AS total_order, SUM(g.goods_number) AS total_goods " .
"FROM " . $GLOBALS['ecs']->table('order_info') . " AS o, " .
$GLOBALS['ecs']->table('order_goods') . " AS g " .
" WHERE o.order_id = g.order_id " .
"AND o.extension_code = 'group_buy' " .
"AND o.extension_id = '$group_buy_id' " .
"AND (order_status = '" . OS_CONFIRMED . "' OR order_status = '" . OS_UNCONFIRMED . "')";
$stat = $GLOBALS['db']->getRow($sql);
if ($stat['total_order'] == 0)
{
$stat['total_goods'] = 0;
}
/* 取得有效订单数和有效商品数 */
$deposit = floatval($deposit);
if ($deposit > 0 && $stat['total_order'] > 0)
{
$sql .= " AND (o.money_paid + o.surplus) >= '$deposit'";
$row = $GLOBALS['db']->getRow($sql);
$stat['valid_order'] = $row['total_order'];
if ($stat['valid_order'] == 0)
{
$stat['valid_goods'] = 0;
}
else
{
$stat['valid_goods'] = $row['total_goods'];
}
}
else
{
$stat['valid_order'] = $stat['total_order'];
$stat['valid_goods'] = $stat['total_goods'];
}
return $stat;
他返回一个数组,其中就有团购商品的一些统计信息,包括购买数量,定单。等。
所以,在首页,我们只需要取的ecshop团购信息的ext_info基本信息,通过unserialize()发放解析,然后通过group_buy_stat函数,就可以把相关的数据得到。而得到的total_goods字段,就是我们要取得的信息,团购商品买出去的总量。
来源:中国B4C电子商务
最近更新
常用插件
- ecshop降价通知登记插件
ecshop降价通知登记插件,主要是为了方便某些客户,对商品价格要求比...
- ecshop分类树中统计商品数
最近忙于开发其他项目,在不少朋友不断要求和催促的情况下,做出了该小...
- ecshop购物车功能改进[插件
ecshop购物车功能改进[插件套餐]主要是我们最近开发工作和开发项目中。...
- ecshop通用红包编码
很多时候,为了结合促销,必须扩展一下ecshop的红包功能。ecshop的红包...
- ecshop红包修改成满多少减
我们在长期使用ecshop的时候,我们可以发现。ecshop的红包是一个非常强...