[ php ] [ class ] 쿠폰발행 class 버젼 > php

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

php

[ php ] [ class ] 쿠폰발행 class 버젼

페이지 정보

작성자 웹지기 댓글 0건 조회 3,530회 작성일 18-09-27 15:19

본문

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]

<?

// Mysql 클래스

class TMySql {

    var $dbconn; // DB 연결 리소스

    var $result; // Query 결과 저장 리소스

    // 생성자: DB에 연결

    

    function TMySQL($Host, $DB, $ID, $PW) {

        $this->dbconn=mysql_connect($Host, $ID, $PW) or die("데이터베이스 연결에 실패하였습니다.<br/>".mysql_error());

        mysql_select_db($DB, $this->dbconn) or die("{$DB}를 사용할 수 없습니다.<br/>".mysql_error());

    }

    // Query 실행. 결과를 $this->result 에 저장

    function Query($SQL) {

        mysql_real_escape_string($SQL);

        $this->result=mysql_query($SQL, 

        $this->dbconn);

        if(!$this->result) die('INVALID QUERY: '.mysql_error());

    }

    // Query 결과의 갯수 반환

    function Count() {

        return

        mysql_num_rows($this->result);

    }

}


// 쿠폰번호 클래스 

class TCoupon {

    var $coupon_len;  // 쿠폰길이

    var $arr_no;      // 숫자배열   

    var $arr_alphabet;// 알파벳배열

    // 생성자: 쿠폰길이를 받아 멤버에 세팅하고, 숫자와 알파벳배열을 세팅   

    

    function TCoupon($CouponLength=16) {

        $this->coupon_len=$CouponLength;

         // 숫자

         for ($i=Ord('0'); $i<=Ord('9'); $i++) $this->arr_no[]=Chr($i);

         // 알파벳

         for ($i=Ord('A'); $i<=Ord('Z'); $i++) 

            $this->arr_alphabet[]=Chr($i);    

    }


    // 쿠폰번호 반환

    function GetCoupon() {

         $result_str="";

         $len_no=count($this->arr_no);

         $len_alphabet=count($this->arr_alphabet);

         for ($i=0; $i<$this->coupon_len; $i++){

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

             if (rand(0,1)==0) $result_str.=$this->arr_no[rand(0,$len_no-1)];

             else                 

            $result_str.=$this->arr_alphabet[rand(0,$len_alphabet-1)];

         } 

         return $result_str;

    }

}


// DB 객체 생성

$MySQL=new TMySQL('localhost', 'db_bloodguy', 'bloodguy', 'nicehide');


// 길이가 16인 쿠폰번호 객체 생성

$Coupon=new TCoupon(16);


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

$x=0;

while ($x<10000){ 

    $CouponNo=$Coupon->GetCoupon();

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

  

    $MySQL->Query("select * from coupon_test where 

    couponNO='{$CouponNo}'");

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

    if($MySQL->Count==0) {

        $MySQL->Query("insert into coupon_test VALUES ('{$CouponNo}' ,'')"); 

        //echo $CouponNo."<br>";

        $x++;

    }

    // 중복번호라면 다시

    else continue;

} // while 

($x<10000)

?> 

[/code]

추천0 비추천0

댓글목록

등록된 댓글이 없습니다.

Total 82건 3 페이지
  • 51 [ 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 19789 0 0 댓글 0
  • 열람중 [ 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 3531 0 0 댓글 0
  • 46 [ 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 5119 0 0 댓글 0
+3
  • 44 [ php ] php 에서 xml 사용하기
  • php에서 사용하기SimpleXML SimpleXML 모듈은 사용자가 쉽게 XML문서를 객체화 시켜 사용 가능 요구사항 : PHP5 XML James Clark의 expat를 사용. XML 문서를 처리할 수 있게 하지만, 유효성을 검증하지는 않음 요구사항 : PHP를 아파치 1.3.9 이상의 모듈로 컴파일 expat 설치 =&gt; http://www.jclark.com/xml/expat.htmlDOM XML문서를 DOM API 로 제공함 요구사항 : java VM이 설...
  • 웹지기 09-27 4882 0 0 댓글 0
  • 43 [ php ] PHP에서 CSV 로 내보내기
  • csv 아웃풋용 파일을 하나 만들어두시고 링크------------------------------------------------------------------------------------------------ csv_output.php[code]&lt;?include "환경 설정 파일들";// DB를 정의합니다. 여기서는 DB 클래스 파일을 include해서 사용했습니다.$DB = new DB_Mysql($WEB_HOST,$WEB_USER,$WEB_PASS,$W...
  • 웹지기 09-28 11119 0 0 댓글 0
  • 42 [ php ] 자료형 비교표 gettype(), empty(), is_null(), isset(), bool…
  • __EXPRESSION__gettype()empty()is_null()isset()boolean:if($x)$x = "";stringTRUEFALSETRUEFALSE$x = null;NULLTRUETRUEFALSEFALSEvar $x;NULLTRUETRUEFALSEFALSE$xis undefinedNULLTRUETRUEFALSEFALSE$x = array();arrayTRUEFALSETRUEFALSE$x = false;booleanTRUEFALSETRUEFALSE$x = true...
  • 웹지기 09-28 5121 0 0 댓글 0
  • 41 [ php ] allow_url_fopen = off 일때 url파일읽기
  • php.ini 파일에 allow_url_fopen=on으로 설정되어 있으면, URL 주소로 파일 읽어올 때 다음과 같이 처리하지만 allow_url_fopen=off로 설정되어 있는 경우, 일단 php.ini 파일을 수정그러나 웹호스팅을 하는 경우 php.ini 파일을 직접 수정할 수 없는 경우가 있다.이런 경우의 해결책을 찾아보니 다음과 같이 socket을 이용해 URL주소를 읽어오는 방법[code]&lt;?php$url = "URL 주소";$info = parse_u...
  • 웹지기 09-28 5938 0 0 댓글 0
  • 40 [ php ] glob 이용 패턴으로 파일 include 하기
  • [code]$library = array_merge( glob('**/*.class.php'));foreach($library as $lib) include_once $lib;[/code]PHP프레임워크를 제작하던 중 쓰던 방법glob 로 패턴으로나온 리스트를 array로 담고 그걸 merge로 합쳐서 include 하는 형태[code]array glob ( string $pattern [, int $flags= 0 ] )[/code]
  • 웹지기 09-28 3945 0 0 댓글 0
  • 39 [ php ] Text Files 핸들링
  • 파일명 menu.ini회사소개,인사말씀,조직도,오시는길제품소개,가전제품,주방제품,욕실제품고객센터,A/S안내,불만접수,1:1게시판커뮤니티,공지사항,자유게시판,이용후기예제 1[code]$File = file('./menu.ini');echo $File;결과 : file 함수는 파일을 읽어서 배열로 반환하는 것을 알 수 있다.결과 array[/code]예제 2첫번째 배열을 출력[code]$File = file('./menu.ini');echo $File[0];결과 : 역시 파일의 전체 내용을 배열로 읽...
  • 웹지기 09-30 3204 0 0 댓글 0
  • 38 [ php ] [ class ] Snoopy.class.php 를 이용하여 파일 긁어오기
  • 사이트를 긁어오기를 하다보면 fsockopen(): unable to connect to 라는 에러가 나면서 사이트 긁어오기가 되지 않는 경우가 종종있다.특히 외국 사이트중에 그런 곳이 많다. 사이트를 방문하지 않고 내용만 쏙 빼가는게 탐탁치 않아서 막아 놓은경우도 있고, 국가적인 차원에서 차단을 시킨경우도 있다.예를 들어 , 일본 최대 AV 회사중에 하나인 DMM은 한국에서 들어오는 방문자를 차단시켜놓았다. 실제로 AV를 구매하지도 않으면서 트래픽은 엄청나게 잡아 먹기 때문이다.또 다른예로 , ...
  • 웹지기 09-30 6581 0 0 댓글 0
게시물 검색

회원로그인

접속자집계

오늘
5,993
어제
11,874
최대
33,828
전체
8,540,029

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