php结合ajax实现手机发红包的案例


Posted in PHP onOctober 13, 2016

PHP Ajax有许多的功能都会用到它小编今天就有使用PHP Ajax实现的一个抢红包功能,下面我们来看一个PHP Ajax手机发红包的程序例子,具体如下所示。

PHP发红包基本流程:当输入完红包数量和总金额后,PHP会根据这两个值进行随机分配每个金额,保证每个人都能领取到一个红包,且每个红包金额不等。也就是每个人领取的红包金额要不同,并且所有红包金额总额等于总金额。

php发红包实现原理:

设定总金额为10元,有N个人随机领取:
N=1 第一个
则红包金额=X元;
N=2 第二个
为保证第二个红包可以正常发出,第一个红包金额=0.01至9.99之间的某个随机数
第二个红包=10-第一个红包金额;
N=3 第三个
红包1=0.01至9.99之间的某个随机数
红包2=0.01至(10-红包1-0.01)的某个随机数
红包3=10-红包1-红包2
……

于是我们得到一个规律,在分配当前红包金额时,先预留剩余红白所需最少金额,然后在0.01至总金额-预留金额间取随机数,得到的随机数就是当前红包分配的金额。

实际应用中,程序先将红包金额分配好,即发红包时,红包个数以及每个红包的金额都分配好了,那么用户来抢红包时,我们随机给用户返回一个红包即可。

jquery代码:

$(function() { 
 $("button").click(function() { 
 $.ajax({ 
 type: 'POST', 
 url: 'bao.php', 
 dataType: 'json', 
 beforeSend: function() { 
 $("#result").html('正在分配红包'); 
 }, 
 success: function(json) { 
 if (json.msg == 1) { 
  var str = ''; 
  var res = json.res; 
  $.each(res, 
  function(index, array) { 
  str = '<p>第<span>' array['i'] '</span>个红包,
  金额<span>' array['money'] '</span>元,余额<span>' 
  array['total'] '元</span></p>'; 
  }); 
  $("#result").html(str); 
 } else { 
  $("#result").html('数据出错!'); 
 } 
 } 
 }); 
 }); 
});

PHP代码:bao.php

$total=20;//红包总金额 
$num=10;// 分成10个红包,支持10人随机领取 
$min=0.01;//每个人最少能收到0.01元 
 
for ($i=1;$i<$num;$i ) 
{ 
 $safe_total=($total-($num-$i)*$min)/($num-$i);//随机安全上限 
 $money=mt_rand($min*100,$safe_total*100)/100; 
 $total=$total-$money; 
 
 echo '第'.$i.'个红包:'.$money.' 元,余额:'.$total.' 元 '; 
} 
echo '第'.$num.'个红包:'.$total.' 元,余额:0 元';

效果如图所示:

php结合ajax实现手机发红包的案例

PHP 相关文章推荐
用Php实现链结人气统计
Oct 09 PHP
php结合js实现点击超链接执行删除确认操作
Oct 31 PHP
php制作文本式留言板
Mar 18 PHP
php通过获取头信息判断图片类型的方法
Jun 26 PHP
PHP读取文件内容的五种方式
Dec 28 PHP
PHP页面输出时js设置input框的选中值
Sep 30 PHP
浅谈php fopen下载远程文件的函数
Nov 18 PHP
php mysql_list_dbs()函数用法示例
Mar 29 PHP
Nginx下ThinkPHP5的配置方法详解
Aug 01 PHP
PHP判断函数是否被定义的方法
Jun 21 PHP
阿里对象存储OSS在laravel框架中的使用方法
Oct 13 PHP
laravel 框架结合关联查询 when()用法分析
Nov 22 PHP
php加密解密字符串示例
Oct 13 #PHP
用php和jQuery来实现“顶”和“踩”的投票功能
Oct 13 #PHP
php is_writable判断文件是否可写实例代码
Oct 13 #PHP
基于PHP制作验证码
Oct 12 #PHP
实现PHP搜索加分页
Oct 12 #PHP
如何使用PHP给图片加水印
Oct 12 #PHP
php版微信数据统计接口用法示例
Oct 12 #PHP
You might like
个人站长制做网页常用的php代码
2007/03/03 PHP
redis 队列操作的例子(php)
2012/04/12 PHP
zend optimizer在wamp的基础上安装图文教程
2013/10/26 PHP
yii使用bootstrap分页样式的实例
2017/01/17 PHP
如何让PHP编码更加好看利于阅读
2019/05/12 PHP
浅谈Laravel中的三种中间件的作用
2019/10/13 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
2021/03/09 PHP
js获取div高度的代码
2008/08/09 Javascript
JavaScript判断textarea值是否为空并给出相应提示
2014/09/04 Javascript
js验证身份证号有效性并提示对应信息
2015/10/19 Javascript
理解JavaScript中worker事件api
2015/12/25 Javascript
bootstrap中添加额外的图标实例代码
2017/02/15 Javascript
详解nodeJS之路径PATH模块
2017/05/31 NodeJs
JS中type=&quot;button&quot;和type=&quot;submit&quot;的区别
2017/07/04 Javascript
基于vue2的canvas时钟倒计时组件步骤解析
2018/11/05 Javascript
vue实现绑定事件的方法实例代码详解
2019/06/20 Javascript
vue-router之实现导航切换过渡动画效果
2019/10/31 Javascript
vue-cli脚手架的.babelrc文件用法说明
2020/09/11 Javascript
[48:26]VGJ.S vs infamous Supermajor 败者组 BO3 第二场 6.4
2018/06/05 DOTA
[43:33]EG vs Spirit Supermajor 败者组 BO3 第一场 6.4
2018/06/05 DOTA
Python中的__SLOTS__属性使用示例
2015/02/18 Python
python爬虫之快速对js内容进行破解
2019/07/09 Python
python实现连连看辅助(图像识别)
2020/03/25 Python
自定义实现 PyQt5 下拉复选框 ComboCheckBox的完整代码
2020/03/30 Python
详解python3类型注释annotations实用案例
2021/01/20 Python
深入浅析HTML5中的SVG
2015/11/27 HTML / CSS
鞋子女王塔玛拉·梅隆同名奢侈品牌:Tamara Mellon
2017/11/22 全球购物
奥地利网上现代灯具和灯饰店:Lampenwelt.at
2018/01/29 全球购物
Tomcat Mysql datasource数据源配置
2015/12/28 面试题
物业招聘计划书
2014/01/10 职场文书
教师党员公开承诺书
2014/03/25 职场文书
房地产公司见习自我鉴定
2014/04/28 职场文书
2014国庆节国旗下演讲稿(精选版)
2014/09/26 职场文书
2014年党小组工作总结
2014/12/20 职场文书
酒店保洁员岗位职责
2015/02/26 职场文书
Golang之sync.Pool使用详解
2021/05/06 Golang