PHP+Ajax手机移动端发红包实例

基本流程:当输入完红包数量和总金额后,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至总金额-预留金额间取随机数,得到的随机数就是当前红包分配的金额。
实际应用中,程序先将红包金额分配好,即发红包时,红包个数以及每个红包的金额都分配好了,那么用户来抢红包时,我们随机给用户返回一个红包即可。

js代码:

 1 $(function() {
 2     $("button").click(function() {
 3         $.ajax({
 4             type: ‘POST‘,
 5             url: ‘bao.php‘,
 6             dataType: ‘json‘,
 7             beforeSend: function() {
 8                 $("#result").html(‘正在分配红包‘);
 9             },
10             success: function(json) {
11                 if (json.msg == 1) {
12                     var str = ‘‘;
13                     var res = json.res;
14                     $.each(res,
15                     function(index, array) {
16                         str += ‘<p>第<span>‘ + array[‘i‘] + ‘</span>个红包,金额<span>‘ + array[‘money‘] + ‘</span>元,余额<span>‘ + array[‘total‘] + ‘元</span></p>‘;
17                     });
18                     $("#result").html(str);
19                 } else {
20                     $("#result").html(‘数据出错!‘);
21                 }
22             }
23         });
24     });
25 });


bao.php源码:

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

本文转自:https://www.sucaihuo.com/php/322.html 转载请注明出处!

原文地址:https://www.cnblogs.com/mrlime/p/11577223.html

时间: 2024-11-06 14:22:06

PHP+Ajax手机移动端发红包实例的相关文章

Android手机拨打电话的开发实例

一部手机最常用的功能就是打电话和发短信了,在Android开发中我们如何通过程序拨打电话呢?本文就给出一个用Android手机拨打电话的简单的实例. 下面是开发此实例的具体步骤: 一.新建一个Android工程,命名为phoneCallDemo. 二.设计程序的界面,打开main.xml把内容修改如下: XML/HTML代码 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:and

除了大屏 安卓手机还有哪些发力点?

<<<-------------  <_< 向左看 文/西域刀客 应该说,自三星GALAXYNote开始,大屏从一个小众市场变化成为一个潮流,它改变了各厂家从原来的硬件配置比拼转向屏幕(尽管屏幕也是配置的一种)大小的竞争:而随着越来越多的人开始使用大屏手机,这一趋势仿佛演变成为了未来手机行业的一个方向. 刀客认可大屏是一种潮流,但不认可这就是手机的发展方面.根本原因在于,不管是小米开启的拼硬件配置还是三星开启的拼屏幕大小的潮流,都掩盖了手机厂家真正应该的发力方向和自身核心竞争

使用PHP编写发红包程序

使用PHP编写发红包程序 http://www.jb51.net/article/69815.htm 投稿:hebedich 字体:[增加 减小] 类型:转载 时间:2015-07-22 微信发红包是最近非常火的一件事情,大家或多或少的都发过或者收到过红包,那么下面来看一个我们在生活中常碰到的一个php实现微信红包的程序算法,希望这个程序对各位做微信开的朋友会带来帮助. 使用PHP发红包,当我们输入红包数量和总金额后,PHP会根据这两个值进行随机分配每个金额,保证每个人都能领取到一个红包,每个红

案例分析发红包

案例分析发红包 用户类 是一个父类,来构造方法 ++++++++++++++++++++++++++++++User.java public class User{ private String name;//姓名 private int money;//余额,也就是当前用户拥有的钱数 public User(){ } public User(String name, int money){ this.name = name; this.money = money; } //展示一下当前用户有多

结合css与javascript来实现手机移动端的屏幕滑动效果

今天心情不错  那就写写博客吧   今天我在这里与大家分享一下手机移动端的屏幕切换的效果希望能帮助一些刚接触js的同学 好啦 不多说,上代码 我们先上设置一个父容器div  然后里面包含了子容器 然后给它们加上 class 我这里定义好了它们的布局 接下来我们来设置它的样式 好 这里是先给父容器定义了样式  然后在给子容器定义样式 到了这里呢 基本的布局已经写好了 然后根据你的个人喜好来给每个手机屏幕切换的背景颜色 还是在style里去添加样式 背景颜色也写完了 这是我随便弄了几个颜色 接下来我

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至总金额-预留金额间取随机

AJAX学习整理二之简单实例

做了几个简单的实例,加载txt文本内容.加载xml文件内容,把xml文本内容转换成html表格显示.废话不多说,直接贴代码: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/html"> <head>     <title>通过ajax获取文本内容</title>     <meta charset="utf-8">     <scr

Ajax轮询——“定时的通过Ajax查询服务端”

Ajax轮询——"定时的通过Ajax查询服务端". 概念: 轮询(polling):客户端按规定时间定时像服务端发送ajax请求,服务器接到请求后马上返回响应信息并关闭连接. 百闻不如一见,来段代码相信你一看就明白 //为了让同学们都明白,我用了最简单的实现方法,同学们懂了原理后可以自行衍生: Reception.html //前端代码 <html> <head> <title></title> <script src="

不想手动输入车牌号?手机Android端车牌识别助你一臂之力!

关键词:手机车牌识别 Android端车牌识别 移动端车牌识别 车牌识别 随着车辆的暴涨,对车辆的管理也是日益严峻.需要更多灵活的有效的管理方式,伴随着移动端APP的火爆应用,北京易泊时代将原来应用在电脑端的车牌识别技术转移到了手机Android端,手机Android端车牌识别更加灵活,方便,为人们的应用解决了很多实际困难. 手机Android端车牌识别产品描述 手机Android端车牌识别系统是北京易泊时代开发的基于移动平台的证件识别应用程序,支持Android/IOS等多种主流移动操作系统.