ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
**下面代码保存到fun函数目录即可** ~~~ <?php namespace app\common\fun; use think\db; class Jfrank {     /**      * @param string $day 日期单位  day天 week周  month月      * @param int $num   具体日期数字1  比如1天  1周  1月      *  @param int $rows 返回行数      * @return array      */     public function ranking($row=10,$day='week',$num=1){         $array =[];         $map['posttime'] = fun('time@only',$day,$num);         $map['money']  = ['>',0];        $rs =  Db::name('moneylog')->field('uid,SUM(money) as s_money')             ->where($map)             ->group('uid')             ->order('s_money desc')             ->limit($rows)             ->select();         foreach($rs As $arr){             $uid = $arr['uid'];             $info = Db::name('memberdata')->where('uid',$uid)->find();             $array[] = array_merge($info,$arr);         }         return $array;            } } ~~~ **模版里的使用方式,直接复制下面代码到你需要展示的地方** ~~~ <h2>本周积分排行</h2> {volist name=":fun('Jfrank@ranking')" id="rs"}     <div>         <span><img src="{$rs.icon|tempdir}" width="20" height="20" /></span>&nbsp;         <span>{$rs.username}</span>&nbsp;         <span>本周总赚取的积分:{$rs.s_money}</span>     </div> {/volist} ~~~ **本fun函数详解** **{ :fun('Jfrank@ranking',10,'week',1)}  默认为返回10个用户一周内的从大到小的赚取积分排行** **如果需要其他时间段,则传递参数,参数上面代码已经说明** **比如需要今天一天的,则是:** `{ :fun('Jfrank@ranking',10,'day',1)}` ****一个月的则是:**** `{ :fun('Jfrank@ranking',10,'month',1)}` 一年的则是: `{ :fun('Jfrank@ranking',10,'month',12)}` **直接下载附件,放到application\\common\\fun目录下** 下载地址在[https://x1.php168.com/bbs/show-10227.html](https://x1.php168.com/bbs/show-10227.html)