批量生成有规律 不重复 长度一致的会员卡号

  • 需求
  • 这里写图片描述

  • 实现步骤

//卡号的唯一标识
$card_biaoshi = $_POST['card_biaoshi'];
//生成卡号的批次
$card_pici = $_POST['card_pici'];
//  生成的数量==循环的次数
$rand_time = $_POST['card_num'];
//将批次进入批次表
$data = array(
    'card_num'     => $rand_time,
    'card_biaoshi' => $card_biaoshi,
    'card_pici'    => $card_pici,
    'add_time'     => time(),
);
$result = M("cardtype")->data($data)->add();
if ($result) {
$sql = "insert into `zl_card2`(`card_num`,`card_biaoshi`,`pici_id`) values";
    for ($i = 0; $i < $rand_time; $i++) {
        $no = $card_biaoshi . date('Ymd') . str_pad($i, 6, '0', STR_PAD_LEFT);
        $sql .= "('{$no}','{$card_biaoshi}','{$result}'),";
    }
    $sql  = substr($sql, 0, strlen($sql) - 1);
    $haha = M();
    $rs   = $haha->execute($sql);
    if ($rs) {
        $this->success('添加成功');
    } else {
        $this->error('添加失败!');
    }
}
  • 说明
    1.str_pad() 函数的使用 可以查找手册
    2.千万不要进行循环语句中插入数据库,此乃大忌!

猜你喜欢

转载自blog.csdn.net/xqt15538076006/article/details/79117666