/**
* 获取激活码
*/
public function getnum()
{
$time = Db::name('fangchan_jihuoma')->group('id desc')->limit(1)->find();//从上一次生成的时间开始计算
$num='';
if(empty($time)){
$num = microtime(true);
}else{
$num = $time['info_time'];
}
for ($i = $num; $i < ($num + 5); $i++) {
// dump(substr(md5($i), 0, 6));exit;
Db::name("fangchan_jihuoma")->insert([
'num' => substr(md5($i), 0, 6),
'status' => '',
'created_time' => time(),
'info_time' => $i
]);
}
$sql = "select count(*) as sum,num from osc_fangchan_jihuoma group by num HAVING sum>1";//查出有多少个重复的验证码和重复验证码内容
$data = Db::query($sql);
if(!empty($data)) {
foreach($data as $k=> $v) {
for($j=0;$j<$v['sum'];$j++){
Db::name("fangchan_jihuoma")->where('num',1)->where('status',0)->delete();删除重复的验证码
}
}
}
$this->success('激活码已生成!');
}
CREATE TABLE `osc_fangchan_jihuoma` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增长id',
`num` varchar(8) NOT NULL COMMENT '激活码',
`uid` int(10) unsigned zerofill DEFAULT NULL COMMENT 'member表id',
`status` tinyint(1) unsigned zerofill NOT NULL DEFAULT '' COMMENT '是否核销 0:未核销,1:已核销',
`created_time` int(11) NOT NULL DEFAULT '' COMMENT '激活码创建时间',
`info_time` int(11) NOT NULL DEFAULT '' COMMENT '标记用时间',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=134 DEFAULT CHARSET=utf8mb4;

tp5生成6位不重复验证码的更多相关文章

  1. 动态生成16位不重复随机数、随机创建2位ID

    /** 1. * 动态生成16位不重复随机数 * * @return */ public synchronized static String generate16() { StringBuffer ...

  2. java 随机生成6位短信验证码

    生成6位随机数字其实很简单,只需一行代码,具体如下: String verifyCode = String.valueOf(new Random().nextInt(899999) + 100000) ...

  3. Jmeter生成8位不重复的随机数

    jmeter的time函数${__time(,)}  :  默认该公式精确到毫秒级别, 13位数 ${__time(/1000,)}  : 该公式精确到秒级别, 10位数 ${__time(yyyy- ...

  4. C# 生成6位短信验证码

    1 private string VerifyCode() 2 { 3 Random random = new Random(); 4 return random.Next(100000, 99999 ...

  5. Java生成8位随机邀请码,不重复

    public static String[] chars = new String[] { "a", "b", "c", "d&q ...

  6. java 生成20位唯一ID,生成不会重复的20位数字----https://blog.csdn.net/weixin_36751895/article/details/70331781

    java 生成20位唯一ID,生成不会重复的20位数字----https://blog.csdn.net/weixin_36751895/article/details/70331781

  7. 生成base64位图片验证码

    import org.springframework.util.Base64Utils; import javax.imageio.ImageIO; import java.awt.*; import ...

  8. 生成24位字符串ID__IdGenerator.java

    此工具类用于生成24位字符串ID,唯一不重复.直接通过 IdGenerator.get() 获取. 源码如下:(点击下载源码 - IdGenerator.java ) import java.net. ...

  9. 在使用Math.random()生成6位随机数遇到的问题,并成功得到6位随机数

    最近在做卫生局的一个考务网时需要实现一个短信发送验证码的功能,因此就必须使用到随机生成6位验证码的功能,开始觉的简单的,随便写了个 +); String messageCode = String.va ...

随机推荐

  1. 【转】一文掌握 Linux 性能分析之网络篇

    [转]一文掌握 Linux 性能分析之网络篇 比较宽泛地讲,网络方向的性能分析既包括主机测的网络配置查看.监控,又包括网络链路上的包转发时延.吞吐量.带宽等指标分析.包括但不限于以下分析工具: pin ...

  2. C#两种基本的冒泡排序算法

    using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI ...

  3. python学习记录20181220

    1.pycharm中,有个快捷键,输入完成后 按Ctrl+Alt+L就可以自动添加空格

  4. fidller判断只抓固定host

    设置好,填入对应的host,操作-立即运行过滤设置 效果

  5. css属性之统一设置文本及div之间的对齐方式

    设为 Flex 布局以后,子元素的float.clear和vertical-align属性将失效.hdp-uf{ display: -webkit-box; /* 老版本语法: Safari, iOS ...

  6. Jenkins job之间依赖关系配置(联动构建)

    使用场景: 想要在某APP打新包之后,立即执行自动化测试的job来验证该新包.比如Job A 执行完执行Job B ,如下图所示,如何建立依赖呢? 主要有两种方法: 1.配置上游依赖: 2.配置下游依 ...

  7. python_urllib2:urlerror和httperror

    urllib2的异常错误处理 在我们用urlopen或opener.open方法发出一个请求时,如果urlopen或opener.open不能处理这个response,就产生错误. 这里主要说的是UR ...

  8. Mysql exists 与 in

    今天公司同事反馈一个SQL语句删除数据删除了一个小时,还没有删除完,强制中断. 第一眼看到 exists 的时候,脑子里要有这么个概念: Oracle exists 的效率比in 高.而Mysql 则 ...

  9. 末学者笔记——SAMBA服务、FTP服务讲解

    samba服务 一.概念: Smb主要作为网络通信协议; Smb是基于cs(client,sever)架构: 完成Linux与windows之间的共享:linux与linux之间共享用NFS   二. ...

  10. jq判断是PC还是手机端的方法

    $(function(){ //判断是否是手机 var mobile_flag = isMobile(); if(mobile_flag){ $('.now_qq').attr('href',&quo ...