场景描述:

某客户需要100W条SN码用来做刮奖活动,

奖品有3类

A类1W个中奖名额

B类1K个中奖名额

C类10个中奖名额

系统采用THINKPHP 框架

现将和谐函数记录如下。

1、 生成SN码

function mknum($n,$len){

$f ="%0".$len."d";

//获得0串

return sprintf($f,$n);

}

//可能存在

//生成$num 个sno,其中数字包含$lenno个, $lenchr 个字母,总长度是$pre+$len+$lenchr+1

//14 整数  8 + 2 + 4

//8 + 01-59 6

//$num 是多少条SN码

//$pre sn前奏

function mksnno($pre,$num){

/*

0.25139300 1138197510

*/

set_time_limit(0);

$M=M("sn");

$count = $M->count();

while($count

$count++;

list($ms,$s)=explode(' ',microtime());

$ms = intval(floatval($ms)*100000000);

$ms = $this->mknum($ms,8);

$s = intval($s);

$s = $this->mknum($s%200,2);

$rand = mt_rand(1000,9999);

$sno =$pre. $s . $rand . $ms;

$data=array("sno"=>$sno);

$M->add($data);

}

}

//

//这里是生成奖品

//total:sn 总条数

//$n某类奖品的个数

//$jp 奖品标示

function makesnjp($total,$n,$jp){

set_time_limit(0);

$M=M("fbsn");

$m = $M->where(array("jp"=>$jp))->count();

$d = $total/$n;;

for($m;$m

hander:

$id = intval($m*$d +  mt_rand(0,$d));

$r =  $M->where(array("id"=>$id,"jp"=>0))->save(array("jp"=>$jp));

if(!$r){

goto hander;

}

}

$m = $M->where(array("jp"=>$jp))->count();

}

2、 数据库设计如下

id bigint //自增长id ,key

sno varchar 16 //sn序列号,做索引

mob varchar 14 //领奖者电话

stat tinyint 4//是否已经领奖

jp tinyint //奖品标示0 标示没有中奖1 标示中了1等奖

ctm //奖品操作时间

php生成sn码,PHP 生成SN码相关推荐

  1. 把sn码转换为二维码

    1.在数据库中插入sn码 $data['sn'] = uniqid(); M("coupon")->add($data) 2.生成二维码 $baseMsg=$res['sn' ...

  2. 项目实践系列-点击生成自定义设置的二维码

    目前为止,生活中的我们到处可见一些二维码,使用微信扫一扫即可进入到另一个网络空间,这种方式方便了我们的生活,更让我们可以适应这种方式. 那么今天呢,我就个人项目经历,把点击生成自定义设置的二维码的一个 ...

  3. C++生成条型码和二维码源码及调用示例 还是C#方便

    先看调用,越简单越好. //画条码 直接贴到主模板图上GenBarCode(memDC, barCodeSn_left, barCodeSn_top, barCodeSn_bottom, sn, iS ...

  4. 条形码?二维码?生成、解析都在这里!

    二维码生成与解析 一.生成二维码 二.解析二维码 三.生成一维码 四.全部的代码 五.pom依赖 直接上代码: 一.生成二维码 public class demo {private static fi ...

  5. iOS 生成带 logo 的二维码,区域截屏保存至相册(小功能二连发 (一))

    原文链接:http://www.jianshu.com/p/36e9f012ef39 生成带 logo 的二维码 区域截屏相关 -- 由3033分享 开篇 最近项目需要搞了几个相对独立的小功能,今天有 ...

  6. 关于Unity调用摄像头扫描二维码与生成二维码的实现方法

    1.常用的生成二维码网址 https://cli.im/ 2.上官网下载二维码插件 http://zxingnet.codeplex.com/ 3.将下载的插件中zxing.unity.dll文件放入 ...

  7. 微信生成带参数的二维码,合成海报,扫码后推送小程序?

    微信服务号渠道二维码功能,支持生成带参数二维码,合成海报二维码,微信扫码后推送内容:结合微号帮平台48小时信息推送,推送微信小程序. 带参二维码 海报二维码 微信扫码后回复 48小时信息推送 在微号帮 ...

  8. 今日小程序推荐:香蕉打码-二维码随意生成

    2019独角兽企业重金招聘Python工程师标准>>> 最近小编在处理公众号的事项时发现想要DIY二维码,本来想生成动态的,发现有点难度,就找到了小程序,其中有一款小程序可以生成静态 ...

  9. unity mysql生成cexcel_【C#附源码】数据库文档生成工具支持(Excel+Html)

    [2015] 很多时候,我们在生成数据库文档时,使用某些工具,可效果总不理想,不是内容不详细,就是表现效果一般般.很多还是word.html的.看着真是别扭.本人习惯用Excel,所以闲暇时,就简单的 ...

  10. HarmonyOS之AI能力·二维码的生成和使用

    一.码生成 码生成能够根据开发者给定的字符串信息和二维码图片尺寸,返回相应的二维码图片字节流. 调用方可以通过二维码字节流生成二维码图片. 二.约束与限制 当前仅支持生成 QR 二维码(Quick R ...

最新文章

  1. Java如何校验两个文件内容是相同的?
  2. linux下配置apache多站点访问-小案例
  3. 磁盘及文件系统管理(三)
  4. FastReport分页和空行填充
  5. Oozie中允许hive程序xml配置
  6. c++ 纯虚成员函数+抽象基类
  7. 云炬WEB开发笔记 2-3git详细安装教程及下载太慢的解决办法
  8. WIN7 64位系统注册银行支付组件
  9. bracket 教程
  10. jQuery_pager.js分页
  11. (五)cobbler自定义系统安装
  12. mysql 存储过程 查询语句怎么写_mysql 查询数据库中的存储过程与函数的语句
  13. idea创建svn分支
  14. eltable 无数据文案修改_element-table 无数据的时候,把“暂无数据” 改成其他文字或图片...
  15. CGB2005 JT-4(聚合工程 阿里数据源,配置项目启动项,EasyUI,树形结构,页面跳转restFul,JSON串说明,vo po,分页查询,叶子类目,Ajax嵌套,windows端口号占用)
  16. echarts双折线图自定义tooltips样式
  17. 地理信息系统实习作业——利用ArcGis计算武汉市分区土地利用类型面积
  18. python selenium下载电子书
  19. vue 中updated的使用
  20. 使用ffmpeg对视频进行画面裁剪

热门文章

  1. es中document的主键id及局部更新
  2. TMS Sphinx Alexandria Full Source
  3. 如何设计一个分布式环境下全局唯一的发号器
  4. windows10管理员获得完全权限
  5. Python数据分析与机器学习7-Seaborn之调色版
  6. 个人目标:计算机学生如何实现经济独立(分享)
  7. win7无线局域网_存储卡具备WiFi有多方便?东芝 FlashAir 无线存储卡上手体验
  8. 如何提高本地文件上传至百度云的速度_上传1GB/s,下载1KB/s的原因终于找到了! | 细说网盘储存机制...
  9. 【算法讲11:卡特兰数】默慈金数 | 那罗延数 | 施罗德数
  10. XMLHttpRequest API