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调用Oracle存储过程的方法
Sep 12 PHP
php操作JSON格式数据的实现代码
Dec 24 PHP
PHP数组循环操作详细介绍 附实例代码
Feb 03 PHP
php添加文章时生成静态HTML文章的实现代码
Feb 17 PHP
Yii 快速,安全,专业的PHP框架
Sep 03 PHP
php获取根域名方法汇总
Oct 28 PHP
yii权限控制的方法(三种方法)
Dec 28 PHP
PHP常见加密函数用法示例【crypt与md5】
Jan 27 PHP
PHP读取目录树的实现方法分析
Mar 22 PHP
浅谈laravel中的关联查询with的问题
Oct 10 PHP
laravel 解决ajax异步提交数据,并还回填充表格的问题
Oct 15 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
短波收音机简介
2021/03/01 无线电
一个自定义位数的php多用户计数器代码
2007/03/11 PHP
php堆排序(heapsort)练习
2013/11/13 PHP
php实现汉字验证码和算式验证码的方法
2015/03/07 PHP
Node.js中AES加密和其它语言不一致问题解决办法
2014/03/10 Javascript
页面装载js及性能分析方法介绍
2014/03/21 Javascript
JavaScript取得WEB安全颜色列表的方法
2015/07/14 Javascript
JSP基于Bootstrap分页显示实例解析
2016/06/12 Javascript
AngularJs篇:使用AngularJs打造一个简易权限系统的实现代码
2016/12/26 Javascript
JavaScript 函数节流详解及方法总结
2017/02/09 Javascript
BootStrap模态框和select2合用时input无法获取焦点的解决方法
2017/09/01 Javascript
深入浅析Vue中的 computed 和 watch
2018/06/06 Javascript
JavaScript设计模式之职责链模式应用示例
2018/08/07 Javascript
layui table 列宽百分比显示的实现方法
2019/09/28 Javascript
使用p5.js临摹动态图形
2019/10/23 Javascript
深入理解webpack process.env.NODE_ENV配置
2020/02/23 Javascript
[54:17]DOTA2-DPC中国联赛定级赛 RNG vs iG BO3第二场 1月10日
2021/03/11 DOTA
python通过shutil实现快速文件复制的方法
2015/03/14 Python
Python实现类的创建与使用方法示例
2017/07/25 Python
Python循环中else,break和continue的用法实例详解
2019/07/11 Python
python爬虫 模拟登录人人网过程解析
2019/07/31 Python
python 实现手机自动拨打电话的方法(通话压力测试)
2019/08/08 Python
tensorflow 自定义损失函数示例代码
2020/02/05 Python
pandas中read_csv、rolling、expanding用法详解
2020/04/21 Python
python实现将中文日期转换为数字日期
2020/07/14 Python
python 如何读、写、解析CSV文件
2021/03/03 Python
装饰活动策划方案
2014/02/11 职场文书
超市促销活动方案
2014/03/05 职场文书
酒店管理专业自荐信
2014/05/23 职场文书
工地例会施工汇报材料
2014/08/22 职场文书
2014年质量工作总结
2014/11/22 职场文书
先进工作者个人总结
2015/02/15 职场文书
2015年度物流工作总结
2015/04/30 职场文书
校园新闻稿范文
2015/07/18 职场文书
2016年第二十届“母亲节暨幸福工程救助贫困母亲活动日”活动总结
2016/04/06 职场文书
python flappy bird小游戏分步实现流程
2022/02/15 Python