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 相关文章推荐
用ADODB来让PHP操作ACCESS数据库的方法
Dec 31 PHP
PHP在线生成二维码(google api)的实现代码详解
Jun 04 PHP
如何使用php判断服务器是否是HTTPS连接
Jul 05 PHP
页面乱码问题的根源及其分析
Aug 09 PHP
destoon实现调用图文新闻的方法
Aug 21 PHP
php中current、next与reset函数用法实例
Nov 17 PHP
php基于socket实现SMTP发送邮件的方法
Mar 05 PHP
php实现字符串翻转的方法
Mar 27 PHP
Thinkphp5+uploadify实现的文件上传功能示例
May 26 PHP
php连接sftp的作用以及实例代码
Sep 23 PHP
PHP ElasticSearch做搜索实例讲解
Feb 05 PHP
PHP7 其他修改
Mar 09 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
使用apache模块rewrite_module (转)
2007/02/14 PHP
php 中文字符串首字母的获取函数分享
2013/11/04 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
window.open关于浏览器拦截问题分析及解决方法
2013/02/05 Javascript
jQuery之过滤元素操作小结
2013/11/30 Javascript
JS+CSS实现带关闭按钮DIV弹出窗口的方法
2015/02/27 Javascript
avalon js实现仿微博拖动图片排序
2015/08/14 Javascript
javascript实现密码验证
2015/11/10 Javascript
javascript执行环境及作用域详解
2016/05/05 Javascript
Vue.js每天必学之构造器与生命周期
2016/09/05 Javascript
实例详解JavaScript中setTimeout函数的执行顺序
2017/07/12 Javascript
JS沙箱模式实例分析
2017/09/04 Javascript
vue axios同步请求解决方案
2017/09/29 Javascript
微信小程序实现MUI数字输入框效果
2018/01/31 Javascript
vue 2.5.1 源码学习 之Vue.extend 和 data的合并策略
2019/06/04 Javascript
jquery css实现流程进度条
2020/03/26 jQuery
详解vue中v-on事件监听指令的基本用法
2020/07/22 Javascript
vue修改Element的el-table样式的4种方法
2020/09/17 Javascript
[06:24]DOTA2 2015国际邀请赛中国区预选赛第二日TOP10
2015/05/27 DOTA
基于Django的ModelForm组件(详解)
2017/12/07 Python
分析python切片原理和方法
2017/12/19 Python
Python之多线程爬虫抓取网页图片的示例代码
2018/01/10 Python
python虚拟环境迁移方法
2019/01/03 Python
在pytorch 中计算精度、回归率、F1 score等指标的实例
2020/01/18 Python
python飞机大战游戏实例讲解
2020/12/04 Python
详解java调用python的几种用法(看这篇就够了)
2020/12/10 Python
css3 box-shadow阴影(外阴影与外发光)图示讲解
2017/08/11 HTML / CSS
美国高档百货Nordstrom的折扣店:Nordstrom Rack
2017/11/13 全球购物
用C或者C++语言实现SOCKET通信
2015/02/24 面试题
毕业设计计划书
2014/01/09 职场文书
大学生水果店创业计划书
2014/01/28 职场文书
幼儿园教师岗位职责
2014/03/17 职场文书
优质服务演讲稿
2014/05/14 职场文书
让世界充满爱演讲稿
2014/05/24 职场文书
JavaGUI模仿QQ聊天功能完整版
2021/07/04 Java/Android
Python turtle编写简单的球类小游戏
2022/03/31 Python