【转载】Ecshop中根据评论等级不同计算出百分比

首先先看一下效果图,根据不同评论计算百分比:

说一下原理:
后台:计算各个类型的评论总和和全部评论。
后台函数代码:
/*统计评论*/
function getcccount($goods_id){
 $sql="SELECT count(id_value) FROM ". $GLOBALS['ecs']->table('comment') ." WHERE id_value = $goods_id AND comment_rank!=0  and select_type=0 and parent_id=0";
 $count = $GLOBALS['db']->getOne($sql);
 if(empty($count)){
  return '没有评论';
 }
 else 
 {
 $sql="SELECT count(id_value) FROM ". $GLOBALS['ecs']->table('comment') ." WHERE id_value = $goods_id AND comment_rank =5 and select_type=0 and parent_id=0";
 $count5 = $GLOBALS['db']->getOne($sql);
 
 $sql="SELECT count(id_value) FROM ". $GLOBALS['ecs']->table('comment') ." WHERE id_value = $goods_id AND comment_rank =1 and select_type=0 and parent_id=0";
  
 $count1 = $GLOBALS['db']->getOne($sql);
 
 $sql="SELECT count(id_value) FROM ". $GLOBALS['ecs']->table('comment') ." WHERE id_value = $goods_id  and select_type=0 and parent_id=0 AND comment_rank BETWEEN 2 AND 4";
 $count3 = $GLOBALS['db']->getOne($sql);
 
 $hb =percent($count5,$count);
 $zb =percent( $count3,$count);
 $cb =percent($count1,$count); 
 $arr=array();
 $arr['all']=$count;   //统计全部评论
 $arr['hao']=$count5;  //统计好评个数
 $arr['zhong']=$count3;  //统计中评个数
 $arr['cha']=$count1 ;  //统计差评个数
 $arr['hb']=$hb; //好评百分比
 $arr['zb']=$zb; //中评百分比
 $arr['cb']=$cb; //差评百分比
 return $arr;
 }
}

/*百分比计算函数
*$p 被除数
*$t 总个数
*/
function percent($p,$t){
 return sprintf('%.2f%%',$p/$t*100);
}

前台模板:根据后台获取的百分的不同,来控制红条的宽度。

先拿来看看,明天再改
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值