2016. 10. 5. 17:58

간단한 쿠폰코드 생성로직

db테이블로 간단하게 쿠폰코드를 생성하는 로직.
md5를 다른 해시 함수로 바꿔서 변경해서 길이를 다르게 할수도.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php 
 
function getCouponCode() {
    while(true) {
        $hash = md5(microtime());
        $codes = sscanf($hash'%8s%8s%8s%8s');
        $db_codes = $this->db->query("SELECT coupon FROM coupon_table WHERE coupon IN ('".implode("','"$codes)."')")->fetchAll(PDO::FETCH_COLUMN);
        if(count($db_codes< count($codes)) {
            $coupon_codes = array_diff($codes$db_codes);
            $this->db->exec("INSERT INTO coupon_table (coupon) VALUES ('{$coupon_codes[0]}')");
            return $coupon_codes[0];
        }
    }
}
cs