通过齐博fun函数实现调用每周赚取的积分排行使用
2024-10-20 11:57:41
下面代码保存到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>
<span>{$rs.username}</span>
<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
最新文章
- html基本选择符的使用
- ASP.NET 服务器控件的生命周期
- phpstorm的调试工具xdebug
- Android 解压缩功能
- SqlParameter设定value为0却变成null
- hdu 2091
- TensorFlow 深度学习笔记 Stochastic Optimization
- Matrix, Her, Transcendence
- redis分布式锁的几种实现方式,以及Redisson的配置和使用
- FineReport破解心得
- Spring学习笔记2——创建Product对象,并在其中注入一个Category对象
- 记一次nginx php配置的心路历程
- 在12C上创建wm_concat函数
- var_export
- ISDBT中CC的处理疑问
- /proc 目录详细说明
- java字符集
- [C#]画图全攻略(饼图与柱状图)(转)
- 业务id转密文短链的一种实现思路
- 【转】C++ Incorrect Memory Usage and Corrupted Memory(模拟C++程序内存使用崩溃问题)