这里说的虚拟的,是假的意思,表示数据并不是真实的,不得不说,虽然现在互联网主流还是好的,但是的确是充斥着很多虚假的数据,但是今天我们要做的这个东西,我并认为他有什么不对,只要我们东西是真的,而且真的是送的,我们这样来表现数据,仅仅是让用户的心情好一些,这有什么不对呢是吧。

这个是策划方案,我之前做过一个类似的,叫蓝环行动的专题:
功能地址:http://www.521php.com/archives/614/ 简述一些php对文件的操作,投票活动的实现
演示地址:http://www.tnbrj.com/s/lgxd/ 蓝光行动
这里演示页面如果能打开显示是100%,那就代表对了,因为活动日期做就过去了,当然是100%了。
这个蓝环行动的难点其实只是限制ip,并且根据开始和结束,根据当天的日期生成随机数,并且让那个环逐天上移。而今天这个功能,其实就是定义一个总数,开始和结束日期,每天生成一个固定的发放量即可。相对来说他的难点,是让今天和昨天和剩余有联系,这个数字在一定意义上说是随机的,但是对于某一天来说又是固定的,也就是说,效果是这样:
今日发放这个数字是变化的,但是一天中访问都是同一个值,而昨日真的是和昨天的今日发放数量是一样的,而剩余的,要是逐天减少的,而且有一些特殊如第一天,第二条等要和今日和昨日有关联。下面看一下代码:这里仅看看php代码,我直接输出了这三个值,如果要用,可以做为js来用,即<script src=”this.php”>这样来用,而且中间的获取日期$time我用字符直接指定了,可以把注释去掉,获取当天时间。

 

这个功能虽然并不复杂也并没有太大的意义,但是他对应一个人的编程能力的确是有锻炼的,相对随机数这是我给他定义,其实也很简单,只不过这个还不是很全面,其实还可以再优化,比如其中的生成当天投放量的函数suiji(),这个可以优化,让他的数字更准确,我这里直接除以3其实是并不太准确的,其实应该根据天数和总数计算最好了,还有就是,我因为是测试,没有定下来开始和结束日期,如果定下来,其实可以做缓存,毕竟,如果每次访问页面都这样计算一下,感觉还是挺难受的,做为一个程序员就应该让程序运行起来更轻松,他也会累的。要考虑他的感受。
这个功能其实就分几个段,就是上面几个if,首先,活动开始前,肯定要让剩余为总是,今日和昨日都是0,再个就是第一天的时候,今日是根据自己写的规则产生的随机数,昨日为0,剩余就是总数减去今日;再个就是活动第二条,今日还是随机,昨日应该是第一天的,剩余就是总数减去今日和昨日的;然后就是活动期间,今日和剩余就是一个根据日期的随机数,昨日是昨天的今日数;最后就是结束的第二天,即剩余和今日都应该是0,昨日就是活动的最后一天的数;超过日期1天以上,就都是0了。
function suiji($a,$t)这个函数就是根据日期产生随机数的,还是有点意思的,其实很简单,上面说了,可以完善;
$sy = $num-round($num/$numday)*(numday($time,$startTime))+suiji(10,$time);
$jr = suiji($onceNum,$time);
$zr = suiji($onceNum,qiant($time));
这里是活动期间的计算过程,可以看一下,还是有点意思的;

程序本天成,妙手偶得之!我们只是代码的搬运工!

转载请注明:http://www.521php.com/archives/1416/

发表评论

昵称:

网址:

eg.博客主题调用的是Gravatar头像,你可以通过邮箱注册获得头像.
/ 快捷键:Ctrl+Enter