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控制linux服务器常用功能 关机 重启 开新站点等
Sep 05 PHP
深入HTTP响应状态码速查表的详解
Jun 07 PHP
深入Memcache的Session数据的多服务器共享详解
Jun 13 PHP
php导出word格式数据的代码实例
Nov 25 PHP
php检测iis环境是否支持htaccess的方法
Feb 18 PHP
PHP goto语句简介和使用实例
Mar 11 PHP
php在数组中查找指定值的方法
Mar 17 PHP
thinkPHP5实现的查询数据库并返回json数据实例
Oct 23 PHP
php微信开发之关注事件
Jun 14 PHP
PHP PDOStatement::closeCursor讲解
Jan 30 PHP
laravel框架实现去掉URL中index.php的方法
Oct 12 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
德生S2000南麂列岛台湾FM收听记录
2021/03/02 无线电
php自动跳转中英文页面
2008/07/29 PHP
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
node+express制作爬虫教程
2016/11/11 Javascript
Vue.js 递归组件实现树形菜单(实例分享)
2016/12/21 Javascript
Angular2库初探
2017/03/01 Javascript
关于Node.js的events.EventEmitter用法介绍
2017/04/01 Javascript
vue.js中Vue-router 2.0基础实践教程
2017/05/08 Javascript
浅析vue.js数组的变异方法
2018/06/30 Javascript
Vue基本使用之对象提供的属性功能
2019/04/30 Javascript
Vue 页面权限控制和登陆验证功能的实例代码
2019/06/20 Javascript
微信小程序实现订单倒计时
2020/11/01 Javascript
vue组件实现移动端九宫格转盘抽奖
2020/10/16 Javascript
python基础教程之获取本机ip数据包示例
2014/02/10 Python
Pyhton中防止SQL注入的方法
2015/02/05 Python
Python编程给numpy矩阵添加一列方法示例
2017/12/04 Python
Python编程argparse入门浅析
2018/02/07 Python
使用python获取电脑的磁盘信息方法
2018/11/01 Python
pytorch对可变长度序列的处理方法详解
2018/12/08 Python
python3.7将代码打包成exe程序并添加图标的方法
2019/10/11 Python
YUV转为jpg图像的实现
2019/12/09 Python
CSS3 translate导致字体模糊的实例代码
2019/08/30 HTML / CSS
CSS3效果:自定义“W”形运行轨迹实例
2017/03/29 HTML / CSS
基于IE10/HTML5 开发
2013/04/22 HTML / CSS
HTML5 文件上传下载的实例代码
2017/07/03 HTML / CSS
Ray-Ban雷朋美国官网:全球领先的太阳眼镜品牌
2016/07/20 全球购物
哈利波特商店:Harry Potter Shop
2018/11/30 全球购物
php优化查询foreach代码实例讲解
2021/03/24 PHP
行政部主管岗位职责
2013/12/28 职场文书
获奖的大学生创业计划书
2014/01/05 职场文书
2014年会演讲稿范文
2014/01/06 职场文书
三好学生演讲稿范文
2014/04/26 职场文书
销售个人求职信范文
2014/04/28 职场文书
个人授权委托书格式
2014/08/30 职场文书
大二学生学年自我鉴定
2014/09/12 职场文书
2015年工商局个人工作总结
2015/07/23 职场文书