[ php ] 쿠폰발행 > php

본문 바로가기
사이트 내 전체검색

php

[ php ] 쿠폰발행

페이지 정보

작성자 웹지기 댓글 0건 조회 5,062회 작성일 18-09-27 16:08

본문

DB

[code]

CREATE TABLE `coupon_test` (

  `idx` int(11) NOT NULL auto_increment,

  `couponNO` varchar(16) NOT NULL,

  `ID` varchar(20) default NULL,

  PRIMARY KEY  (`idx`)

) ENGINE=MyISAM DEFAULT CHARSET=euckr AUTO_INCREMENT=1 ;

[/code]


idx: 고유 인덱스 번호 

couponNO: 쿠폰번호 (중복불가 varchar(16) 숫자와 알파벳으로 이루어짐) 

ID: 해당 쿠폰을 사용한(발급받은) ID. ID를 입력할 수 없는 경우에는 reserved 라고 표기해 두어 중복발급을 피하도록 한다. 


쿠폰생성 소스

[code]

<?

$Host    = "호스트주소";  

$User    = "DB 

ID";  

$Passwd    = "DB PASSWORD"; 

$DB_Name   = "DB NAME"; 

// 쿠폰발행을 위한 배열. 숫자+알파벳 

$arr_no=array("1","2","3","4","5","6","7","8","9","0");

$arr_alphabet=array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");


// DB 접속

$dbconn = mysql_connect("$Host","$User","$Passwd") or die("데이터베이스 연결에 실패하였습니다.");

$status = mysql_select_db("$DB_Name",$dbconn);


// 쿠폰발행 루프 (10000개의 번호를 생성한다고 가정) 

$x=0;

while ($x<10000){

    $str="";

    // 쿠폰번호의 길이는 숫자+알파벳으로 16자 (물론 조정가능)

    for ($i=0; $i<16; $i++) {

        // 랜덤을 돌려 0 이면 숫자, 1 이면 알파벳 부여

        if (rand(0,1)==0) 

            $str.=$arr_no[rand(0,(count($arr_no)-1))];

        else

            $str.=$arr_alphabet[rand(0,(count($arr_alphabet)-1))];

    }


    // 해당 번호가 DB 있는 중복번호인가 체크 

    $query = "select count(idx) 

    from coupon_test where couponNO='".$str."'";

    $result = mysql_query($query, $dbconn);

    $col = mysql_fetch_row($result);


    // 중복번호가 아니라면 DB 에 넣음 

    if ($col[0]==0) {

        $query = "insert into 

        coupon_test VALUES ('', '".$str."' ,'')"; 

        $result = mysql_query($query, 

        $dbconn);

        echo $str."<br>";

        $x++;

    }

    // 중복번호라면 다시

    else 

        continue;

}

?>

[/code]


1.DB에 발행할 쿠폰수만큼 번호를 생성해둔다.(자동생성되게 해야지 이런건) (해당 쿠폰을 발행받은 ID는 비워둔다) [! 쿠폰유효기간도 필요하지 않을까??? !] 

2.쿠폰을 발행할 때 ID가 비어있는 쿠폰번호를 발행한다. [! 예약된 쿠폰번호라는 것도 필요할 듯 하다!! ID 부분을 reserved 하는 형식으로 저장하든지 해서] 

3.쿠폰을 사용할 때 DB에서 해당 쿠폰번호가 있는지, 이미 발행받은 ID가 있는지 검사하여 모두 통과되면 member 테이블의 쿠폰기간 필드를 업데이트 한다. 

추천0 비추천0

댓글목록

등록된 댓글이 없습니다.

Total 82건 4 페이지
  • 열람중 [ php ] 쿠폰발행
  • DB[code]CREATE TABLE `coupon_test` ( `idx` int(11) NOT NULL auto_increment, `couponNO` varchar(16) NOT NULL, `ID` varchar(20) default NULL, PRIMARY KEY (`idx`)) ENGINE=MyISAM DEFAULT CHARSET=euckr AUTO_INCREMENT=1 ;[/code]idx: 고유 인덱스 번호couponNO: 쿠폰번호 (중복불가 varchar(16) 숫자와 알파벳으로 이...
  • 웹지기 09-27 5063 0 0 댓글 0
  • 35 [ php ] [ class ] 쿠폰발행 class 버젼
  • DB[code]CREATE TABLE `coupon_test` ( `couponNO` varchar(16) NOT NULL default '', `ID` varchar(20) NOT NULL default '', `datetime` datetime NOT NULL default CURRENT_TIMESTAMP, PRIMARY KEY (`couponNO`)) TYPE=MyISAM;[/code]쿠폰생성 소스[code]&lt;?// Mysql 클래스class TMySql { var $...
  • 웹지기 09-27 3490 0 0 댓글 0
  • 32 [ php ] php 로 소켓 서버 작성하기
  • PHP로 소켓 서버 작성하기작성자 김영진(cogolda@hanmail.net)대상 독자요구사항1 개요 - 소켓 서버란 무엇인가?1.1 소켓의 형태2 PHP 소켓 함수2.1 PHP에서 소켓 만들기2.2 실용 서버 만들기2.3 실용적인 예2.4 보안가능한 기능 추가와 확장저자에 관해알아두기이 자료는 http://www.zend.com/zend/tut/tutorial-staub3.php/에 있는Writing Socket Servers in PHP를 제가 허접번역 및 내용을 추가 및 생략한 것입니다.이미...
  • 웹지기 09-27 19716 0 0 댓글 0
  • 30 [ php ] 파일 확장자 구하기 여러가지 방법
  • [code] &lt;?php $filename = "mypage.asp"; //1 strrchr함수를 사용해서 확장자 구하기 $ext = substr(strrchr($filename, '.'), 1); echo$ext; echo"&lt;br&gt;"; //2 strrpos 함수와 substr함수를 사용해서 확장자 구하기 $ext = substr($filename, strrpos($filename, '.') + 1)...
  • 웹지기 09-19 16508 0 0 댓글 0
  • 29 [ php ] php를 활용하여 리눅스 계정 만들기
  • 1. 먼저, /usr/sbin/useradd를 웹 서비스 디렉토리에 복사[code] #cp /usr/sbin/useradd /usr/www/html/[/code] (웹 서비스 디렉토리는 리눅스에 따라 약간의 차이가 있을 수 있슴) 2. 복사한 useradd의 setid를 설정합니다 (물론 /usr/www/html의 위치에서 명령을 내림 )[code] #chmod a+s useradd [/code] 3. php소스 (소스파일은 웹 서비스 디렉토리에 있어야 함)[code] #vi ...
  • 웹지기 09-19 4740 0 0 댓글 0
  • 28 [ php ] PREG 한글 특수문자 체크 & 추출
  • 홍길1234동abc입!!_#니다 라는 문구가 있다고 했을때 해당 문구에서 홍길동입니다 1234 abc !!_# 를 각각 추출해내는 함수이다. euckr을 기준으로 작성된 함수이며 euckr에서는 한글 패턴의 추출이 어려운 관계로 UTF-8로 전환하여 변환하는 형태이다. 핵심은 1 한글,2 영문 ,4 숫자 ,8 특수기호로 명시하고 처리하는 식이다. ========= 내용 ============== $msg = "홍길1234동abc입!!_#니다"; ...
  • 웹지기 09-19 8483 0 0 댓글 0
  • 27 [ php ] ereg_replace // eregi_replace 사용법
  • ereg_replace는 str_replace와 형식은 같으나, 정규식을 사용한다는 점이 다르다. $a = "1a2b3"; $a = ereg_replace("[a-z]", "x", $a); echo $a; eregi_replace는 ereg_replace와 형식은 같으나 대소문자를 구분하지 않는다는 점이 다릅니다. $a = "1AB"; $a = ereg_replace("[a-z]", ...
  • 웹지기 09-19 4305 0 0 댓글 0
  • 25 [ php ] facebook sharer를 이용할 경우 부가 메타데이터 넣는 방법
  • 페이스북 쉐어러를 사용할때는 http://www.facebook.com/sharer/sharer.php?u=공유할 url 만 입력하면 된다. 하지만, 해당 URL에 대한 대표 이미지나, 설명같은 것은 무작위 또는 가장 강조되는 테그를 가져오기때문에 목적이 그냥 특정 URL을 공유하는 것이라면 상관없지만 이게아니라면 의도치않은 결과가 나올 수 있다. 이런 부분을 해소하기 위해서 페이스북에서는 메타데이터를 이용해 특정 정보를 가져온다. 추가할 수 있는 메타 데이터들에는 url,...
  • 웹지기 09-19 15243 0 0 댓글 0
  • 24 [ php ] _SERVER, getenv 환경변수
  • PHP 환경변수 정리 서버 변수 용도$_SERVER['PHP_SELF'] 현재 실행하고 있는 스크립트의 파일명 DocumentRoot로부터 취득$_SERVER['argv'] 스크립트에 받은 인수의 배열$_SERVER['argc'] 스크립트에 받은 인수의 수$_SERVER['GATEWAY_INTERFACE'] 서버가 사용하고 있는 CGI 의 버전$_SERVER['SERVER_ADDR'] 현재의 스크립트가 실행되고 있는 서버의 IP 어드레스$_SERVER['SERVER_NAME'] 현재의 스크립트가 ...
  • 웹지기 09-11 7284 0 0 댓글 0
  • 23 [ php ] Class 사용법 정리 7. 매직함수
  • 7매직함수__sleep, __wakeup과같이"__"로시작하는매직함수(magic function)는 PHP 클래스내에서특수한목적으로사용됩니다.따라서이함수들이가지고있는문서화된매직기능을사용할필요가없다면클래스내에이함수들을정의해서는안됩니다.__sleepserialize 함수를통해객체를직렬화할때해당클래스에매직함수 __sleep가정의되어있는지확인합니다.만약정의되어있다면객체를직렬화하기전에 __sleep 함수를수행합니다.이함수는직렬화하기전에객체멤버에대하여조작해야하는작업,또는직렬화하기전에미리수행...
  • 웹지기 09-11 4090 0 0 댓글 0
게시물 검색

회원로그인

접속자집계

오늘
6,576
어제
5,664
최대
33,828
전체
8,396,299

그누보드5
Copyright © funyphp.com. All rights reserved.