怎么判断用户是当前商品 已购买过此商品的登录用户!

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

在商品详情页 怎么判断用户是 购买过此商品并且登录的用户???
求解!

回答:
通过 order_info 和 order_goods 两个表来获取相关信息,然后做判断。
1、用户购买了这件商品,那么就会创建一个订单,在order_info 表,这个订单的商品则保存在order_goods 表
2、购买过这件商品,就是这个订单是完成的状态。

以下sql供参考,因为我和ecshop的不一样,不要原样复制。如果要看ecshop的,可以看comment.php。

$sql = "SELECT o.order_id".

" FROM " . $ecs->table('order_info'). " AS o, ". $ecs->table('order_goods') . " AS og ".

" WHERE o.order_id = og.order_id".

" AND o.user_id = '" . $_SESSION['user_id'] . "'".

" AND og.goods_id = '" . $goods_id . "'".

" AND o.order_status = '" . OS_TRADE_FINISHED . "' ".

" LIMIT 1";

$tmp = $db->getOne($sql);
// 订单id没有,表示有 这个用户 关于 这件商品 的 订单信息不存在,也就是 没购买过。

if (empty($tmp)) {
show_message('您还未购买该件商品!', array($goods_name), array('goods.php?id='.$goods_id), 'error');

}




是的 直接可以判断的




已解决