当前位置: 首页 > news >正文

展示商品的网站怎么做成品app直播源码下载

展示商品的网站怎么做,成品app直播源码下载,排名第一的手机清理软件,后台网站开发文档目录 前言#xff1a; 1.随机生成#xff0c;核对user表是否已存在 代码#xff1a; 解析#xff1a; 缺点#xff1a; 2.建表建库#xff0c;每次从表中随机抽取一条#xff0c;用完时扩充 表结构 表视图 代码 解析 缺点 结论#xff1a; 前言#xff1a; …目录 前言 1.随机生成核对user表是否已存在 代码 解析 缺点 2.建表建库每次从表中随机抽取一条用完时扩充 表结构 表视图 代码 解析 缺点 结论 前言 目前使用了两种生成唯一邀请码的方法都觉的不是很完美有什么好的方法大姐可以交流一下以下是我的代码逻辑 1.随机生成核对user表是否已存在 代码 function generateInvitationCode($i 1) { $start 10000;$end 99999;// 如果循环了n次仍然重复则扩充范围// 以避免10000-99999的数字全部都被占用了在成无限循环$multiple bcdiv($i, 50);if($multiple 1) {$start $start . str_repeat(0, $multiple); // 拼接$multiple个0$end $end . str_repeat(9, $multiple); // 拼接$multiple个9}// 生成随机数$invitationCode rand($start, $end); // 检查邀请码是否已经存在于数据库中while (checkInvitationCodeExists($invitationCode)) {// 如果邀请码已经存在则重新生成$invitationCode generateInvitationCode($i 1);}return $invitationCode; } /*** 检查不否已存邀请码 */ function checkInvitationCodeExists($invitationCode) {$user new User();$existingCode $user-where(invitation_code, $invitationCode)-find();if ($existingCode){return true;}return false; } 解析 generateInvitationCode() 函数用于生成邀请码。它接受一个可选参数 $i表示循环次数。如果未提供参数则默认为 1。 在 generateInvitationCode() 函数中我们首先定义了邀请码的范围即从 10000 到 99999。 如果循环次数 $i 大于 50则我们需要扩充邀请码的范围。我们使用 bcdiv() 函数计算 $i 除以 50 的商并将结果存储在 $multiple 变量中。然后我们使用 str_repeat() 函数将 $multiple 个 0 和 9 分别拼接到 $start 和 $end 变量中。 接下来我们使用 rand() 函数在 $start 和 $end 之间生成一个随机数并将其存储在 $invitationCode 变量中。 然后我们使用 checkInvitationCodeExists() 函数检查邀请码是否已经存在于数据库中。如果邀请码已经存在则我们递归调用 generateInvitationCode() 函数并将 $i 参数加 1。 最后我们返回生成的邀请码。 checkInvitationCodeExists() 函数用于检查邀请码是否已经存在于数据库中。它接受一个参数 $invitationCode表示要检查的邀请码。 在 checkInvitationCodeExists() 函数中我们首先创建一个新的 User 对象。然后我们使用 where() 方法查询数据库中是否存在与 $invitationCode 相匹配的邀请码。如果存在则返回 true否则返回 false。 缺点 可能会造成多次的user表查询过于频繁 2.建表建库每次从表中随机抽取一条用完时扩充 表结构 SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- ---------------------------- -- Table structure for fa_activation_key -- ---------------------------- DROP TABLE IF EXISTS fa_activation_key; CREATE TABLE fa_activation_key (id bigint(20) NOT NULL AUTO_INCREMENT,status int(2) NOT NULL DEFAULT 0 COMMENT 0未使用1已使用,PRIMARY KEY (id) USING BTREE,UNIQUE INDEX idx(id) USING BTREE,INDEX statusx(status) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 110000 CHARACTER SET utf8 COLLATE utf8_general_ci ROW_FORMAT Dynamic;SET FOREIGN_KEY_CHECKS 1; 表视图 代码 /*** 查找一个随机邀请码*/ function findKey(){return Db::name(activation_key)-where(status,0)-orderRaw(rand())-limit(1)-value(id); }/*** 生成邀请码*/ function activationkey(){$key findKey();if(empty($key)){// 如果邀请码用完了进行库扩建$res createActivationKey();if($res){// 扩建以后再随机获取一个$key findKey();}}// 把邀请码改为已使用状态Db::name(activation_key)-where(id,$key)-update([status1]);return $key; }/*** 建立邀请码库*/ function createActivationKey(){// 已使用完的邀请码库最大值从这个值开始往上扩建$start Db::name(activation_key)-order(id desc)-value(id);if(empty($start)){// 邀请码库为空从10000开始建库$start 10000;}else{// 邀请码用完从最大值1开始建库$start bcadd($start,1);}// 每次扩充99999个邀请码$end bcadd($start,99999);$arr [];for ($i$start; $i$end; $i){$arr[] [id $i];}// 先把作废的删除掉Db::name(activation_key)-where(status, 1)-delete();// 批量插入邀请码Db::name(activation_key)-data($arr)-limit(100)-insertAll($arr);return true; } 解析 findKey() 函数用于查找一个随机邀请码。它使用 Db::name(activation_key) 查询数据库中状态为 0 的邀请码并按随机顺序排序使用 limit(1) 限制只返回一个邀请码。最后使用 value(id) 获取邀请码的 ID。 activationkey() 函数用于生成邀请码。它首先调用 findKey() 函数查找一个随机邀请码。如果 findKey() 返回的邀请码为空则表示邀请码库已经用完需要扩建邀请码库。然后调用 createActivationKey() 函数进行扩建。如果扩建成功再次调用 findKey() 函数查找一个随机邀请码。最后将邀请码的状态更新为 1表示已经使用过。 createActivationKey() 函数用于建立邀请码库。它首先获取当前已使用过的邀请码库的最大值如果没有找到则从 10000 开始建立邀请码库。然后每次扩充 99999 个邀请码。接下来创建一个包含所有邀请码的数组并先删除状态为 1 的邀请码。最后批量插入邀请码。 缺点 需要单独的建表建库每次都需要调用mysql获取比直接随机生成效率低但相比第一种在后期会节约一定的时间减少查询次数 结论 方法1,2各有优缺但都不是很好的解决办法目前没有想到其他的效率高的办法有好思路的朋友欢迎指点交流一下
http://www.zqtcl.cn/news/663832/

相关文章:

  • 通州区网站快速排名方案视频网站视频预览怎么做
  • 同创企业网站源码建筑行业公司排名
  • 温州网站建设服务建设商务网站公司
  • 导视设计网站推荐创业平台的选择
  • 营销网站建设设计义乌 网站制作
  • 南通企业网站建设公司庆阳网站建设与制作
  • 做k12网站wordpress调用第一张图片不显示
  • 网站建设和维护要点网站建设完提交百度
  • app开发人员网站上海保洁服务网站建设
  • 周口网站制作公司哪家好苏州高新区住建局官网
  • 建设特效网站自助网站建设系统
  • 用软件做的网站权限管理如何让自己的网站被百度收录
  • 简历做的很棒的网站杭州公司网站建设电话
  • 购买腾讯云主机可以直接做网站舒兰网站建设
  • 环保主题静态网站php 手机网站源码
  • 做网站找哪家好要钱吗小程序开发合同
  • 速成美站东莞网站建设 包装材料
  • 丹阳网站建设案例自己做个网站怎么赚钱
  • 净水机企业网站源码浏览器下载安装2022最新版
  • 高端网站建设四川网页版微信怎么下载
  • 青岛做网站皆赴青岛博采wordpress怎么改密码忘记
  • 深圳最好的网站建设广西论坛网站建设
  • html5网站设计网站建设 广西
  • 顺德手机网站设计价位网站开发学习流程图
  • 班级网站设计合肥蜀山网站开发
  • 杭州网站建设培训ck播放器整合WordPress
  • 网站建设是什么软件品牌策划公司哪家好推荐
  • 网站转跳怎么做餐饮vi设计
  • 刘连康seo培训哪家强网站优化推广平台
  • 网站推广内容滁州做网站的