当前位置:Gxlcms > PHP教程 > 实现排行版带有趋势的

实现排行版带有趋势的

时间:2021-07-01 10:21:17 帮助过:3人阅读

实现排行版带有趋势的,该怎么实现呢?


回复讨论(解决方案)

这个... ... 希望你将问题描述清楚。

这个... ... 希望你将问题描述清楚。
比如按周排行,根据用户的消耗的金币来排行,某个用户这周有上升的趋势或者下降的趋势!


这个... ... 希望你将问题描述清楚。
比如按周排行,根据用户的消耗的金币来排行,某个用户这周有上升的趋势或者下降的趋势!

读数据库数据然后输出图标 直观简洁吧? 你是卡在思路?卡在代码?卡在....



这个... ... 希望你将问题描述清楚。
比如按周排行,根据用户的消耗的金币来排行,某个用户这周有上升的趋势或者下降的趋势!

读数据库数据然后输出图标 直观简洁吧? 你是卡在思路?卡在代码?卡在....
我是卡在趋势上面,我该怎么判断用户是上升还是下降还是保持不变!

按周排行?
那么你就有:本周消耗、上周消耗
于是 本周消耗 > 上周消耗 上升,反之下降

按周排行?
那么你就有:本周消耗、上周消耗
于是 本周消耗 > 上周消耗 上升,反之下降
如果是这样是不是都要记录起来啊,我可以保留两周的排行版了?

有比较才能有鉴别
如果你没有过往的数据,那如何能知道现在是增加还是减少了呢?

有比较才能有鉴别
如果你没有过往的数据,那如何能知道现在是增加还是减少了呢?

	$old_rank = array(			"1"=>array('uid'=>132,'use_score'=>61570),			"2"=>array('uid'=>121,'use_score'=>50932),			"3"=>array('uid'=>145,'use_score'=>46789),			"4"=>array('uid'=>100,'use_score'=>39089),			"5"=>array('uid'=>167,'use_score'=>29089)		);		$new_rank = array(			"1"=>array('uid'=>132,'use_score'=>61570),			"2"=>array('uid'=>145,'use_score'=>51932),			"3"=>array('uid'=>121,'use_score'=>50932),			"4"=>array('uid'=>167,'use_score'=>40089),			"5"=>array('uid'=>100,'use_score'=>39089)		);

想问下,像这样的,我有什么好的办法其中的uid是上升还是下降或者是不变呢?

//先变形为这样,即用 uid 做键。生成这些数据时就应该这样做好$old_rank = array(  132=>array('uid'=>132,'use_score'=>61570),  121=>array('uid'=>121,'use_score'=>50932),  145=>array('uid'=>145,'use_score'=>46789),  100=>array('uid'=>100,'use_score'=>39089),  167=>array('uid'=>167,'use_score'=>29089));$new_rank = array(  132=>array('uid'=>132,'use_score'=>61570),  145=>array('uid'=>145,'use_score'=>51932),  121=>array('uid'=>121,'use_score'=>50932),  167=>array('uid'=>167,'use_score'=>40089),  100=>array('uid'=>100,'use_score'=>39089));foreach($new_rank as $k=>$v)  $res[$k] = $v['use_score'] - $old_rank[$k]['use_score'];print_r($res);
Array
(
[132] => 0
[145] => 5143
[121] => 0
[167] => 11000
[100] => 0
)

//先变形为这样,即用 uid 做键。生成这些数据时就应该这样做好$old_rank = array(  132=>array('uid'=>132,'use_score'=>61570),  121=>array('uid'=>121,'use_score'=>50932),  145=>array('uid'=>145,'use_score'=>46789),  100=>array('uid'=>100,'use_score'=>39089),  167=>array('uid'=>167,'use_score'=>29089));$new_rank = array(  132=>array('uid'=>132,'use_score'=>61570),  145=>array('uid'=>145,'use_score'=>51932),  121=>array('uid'=>121,'use_score'=>50932),  167=>array('uid'=>167,'use_score'=>40089),  100=>array('uid'=>100,'use_score'=>39089));foreach($new_rank as $k=>$v)  $res[$k] = $v['use_score'] - $old_rank[$k]['use_score'];print_r($res);
Array
(
[132] => 0
[145] => 5143
[121] => 0
[167] => 11000
[100] => 0
)
恩,多谢!结贴!

人气教程排行