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 相关文章推荐
Ajax+PHP 边学边练之四 表单
Nov 27 PHP
php session安全问题分析
Jun 24 PHP
第4章 数据处理-php正则表达式-郑阿奇(续)
Jul 04 PHP
PHP得到某段时间区间的时间戳 php定时任务
Apr 12 PHP
PHP empty函数报错解决办法
Mar 06 PHP
ThinkPHP内置jsonRPC的缺陷分析
Dec 18 PHP
php使用cookie实现记住用户名和密码实现代码
Apr 27 PHP
Zend Framework教程之Zend_Form组件实现表单提交并显示错误提示的方法
Mar 21 PHP
form表单传递数组数据、php脚本接收的实例
Feb 09 PHP
如何通过View::first使用Laravel Blade的动态模板详解
Sep 21 PHP
PHP微信开发之微信录音临时转永久存储
Jan 26 PHP
yii框架使用分页的方法分析
Jul 25 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之Memcache学习笔记
2013/06/17 PHP
浅析echo(),print(),print_r(),return之间的区别
2013/11/27 PHP
php对数组排序的简单实例
2013/12/25 PHP
PHP中ini_set和ini_get函数的用法小结
2014/02/18 PHP
JS实现多物体缓冲运动实例代码
2013/11/29 Javascript
javascript中返回顶部按钮的实现
2015/05/05 Javascript
Jquery动态添加输入框的方法
2015/05/29 Javascript
jQuery Easyui实现左右布局
2016/01/26 Javascript
微信小程序 详解下拉加载与上拉刷新实现方法
2017/01/13 Javascript
JavaScript实现动态增删表格的方法
2017/03/09 Javascript
12条写出高质量JS代码的方法
2018/01/07 Javascript
微信小程序wepy框架笔记小结
2018/08/08 Javascript
Vue实现远程获取路由与页面刷新导致404错误的解决
2019/01/31 Javascript
Node.js对MongoDB进行增删改查操作的实例代码
2019/04/18 Javascript
vue无限轮播插件代码实例
2019/05/10 Javascript
Layer+Echarts构建弹出层折线图的方法
2019/09/25 Javascript
解决Vue.js应用回退或刷新界面时提示用户保存修改问题
2019/11/24 Javascript
jQuery实现颜色打字机的完整代码
2020/03/19 jQuery
python逐行读取文件内容的三种方法
2014/01/20 Python
python3实现短网址和数字相互转换的方法
2015/04/28 Python
python读写csv文件实例代码
2019/07/05 Python
解决python中import文件夹下面py文件报错问题
2020/06/01 Python
python 删除excel表格重复行,数据预处理操作
2020/07/06 Python
Django通过设置CORS解决跨域问题
2020/11/26 Python
凯撒娱乐:Caesars Entertainment
2018/02/23 全球购物
关于Java String的一道面试题
2013/09/29 面试题
DataList 能否分页,请问如何实现?
2015/05/03 面试题
大学专科生推荐信范文
2013/11/23 职场文书
大学生自荐书范文
2013/12/10 职场文书
《圆明园的毁灭》教学反思
2014/02/28 职场文书
早会主持词
2014/03/17 职场文书
党员个人批评与自我批评
2014/10/14 职场文书
高老头读书笔记
2015/06/30 职场文书
外出听课学习心得体会
2016/01/15 职场文书
企业内部管理控制:采购授权审批制度范本
2020/01/19 职场文书
MySQL创建管理RANGE分区
2022/04/13 MySQL