/**
* 获取激活码
*/
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. java学习笔记10-方法

    我们经常用到System.out.println(),它到底是什么? System是系统类 out是系统类的标准输出对象 println()是一个方法 也就是说是调用了System类中的标准输出对象o ...

  2. Django 连接mysql数据库中文乱码

    Django 连接mysql数据库中文乱码 2018年08月25日 20:55:15 可乐乐乐乐乐 阅读数:566   版本:CentOS6.8 python3.6.4 django1.8.2 数据库 ...

  3. Timeline高级扩展

    转载于http://forum.china.unity3d.com/thread-32200-1-1.html通过demo讲解了timeline更加复杂的使用方式 Timeline是创建过场动画和影片 ...

  4. 对oracle用户创建asm磁盘

    --root用户执行vi /etc/sysctl.conf #Install oracle settingfs.aio-max-nr = 1048576fs.file-max = 6815744#ke ...

  5. C# EntityFramework Code First 迁移

    如果使用的是 Code First 工作流,推荐使用 Code First 迁移改进应用程序的数据库架构. 迁移提供一组允许以下操作的工具: 创建可用于 EF 模型的初始数据库 生成迁移以跟踪对 EF ...

  6. Java 基本语法,标识符,修饰符,关键字

    基本语法 编写 Java 程序时,应注意以下几点: 大小写敏感:Java 是大小写敏感的,这就意味着标识符 Hello 与 hello 是不同的. 类名:对于所有的类来说,类名的首字母应该大写.如果类 ...

  7. neutron--ml2 plugin

    ml2 plugin 对 plugin 的功能进行抽象和封装,有 ml2 plugin ,各种 network 无需开发自己的 plugin,只需开发 ml2 plugin 相对应的 driver , ...

  8. loadrunner使用过程遇到的问题(一)

    1.如果log日志出现乱码,如何设置?(对于乱码设置只是对单一脚本有效,并不是全部脚本有效,所以多个脚本出现乱码,需要逐个设置) loadrunner12版本设置方法,在preference里面,设置 ...

  9. VBA开发手记

    本博文,将主要记录VBA for Excel项目中遇到并解决的问题,不定期更新. 1.日期单元格前面加空格就变成文本了,find查找参数注意:what:=Cstr(Date),lookat:=2 2. ...

  10. 获取Ajax通信对象方法

    function getXHR() { // 该方法用于获取Ajax通信对象 var xhr = null; if (window.XMLHttpRequest != null && ...