난수발생 - 주문번호생성 > php

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

php

난수발생 - 주문번호생성

페이지 정보

작성자 서방님 댓글 0건 조회 151회 작성일 15-02-23 09:10

본문

1.난수발생 함수를 이용해 쇼핑몰이나 중복되지 않는 주문코드 생성

 

함수설명:

int rand ( [int min, int max]) 함수

부수적인 minmax 인수 없이 호출하면, rand()는 0과 RAND_MAX 사이의 임의의 난수를 반환합니다. 예를 들어, 5와 15(포함) 사이의 난수를 얻으려면, rand (5, 15)로 사용합니다.

몇몇 플래폼(Windows 등)에서는 RAND_MAX는 32768까지 입니다. 32768보다 큰 범위가 필요할 경우에는, min과 max를 지정하여 RAND_MAX보다 큰 범위를 만듭니다.

PHP에서는 RAND라는 함수로 난수를 발생시킨다. 보통 다른 언어에서는 SEED(씨앗)을 다르게 주어 생성하지만 PHP4.2이후부터는 SEED을 줄필요가 없다.

 

함수사용용도:

쇼핑몰같은 전자상거래 사이트에서는 주문서마다 각각의 중복되지 않는 주문번호가 필요합니다.

보통 영어와 숫자를 혼합하여 사용하는데 이때 rand()함수를 이용합니다.

 

함수활용:

 

ex1)

echo rand(); //최대값은 os에 따라서 결정되며 0부터 그사이에 값이 발생한다.

 

ex2)

for($a=1 ; $a<10 ; $a++)

//1부터 10까지의 수중에서 난수를 발생한다.
echo $a . "번째 난수 : " . rand(1,10) . "<br>";

 

ex3)

echo rand()%26; //0부터 25까지의 난수가 발생한다.

 

ex4)

echo rand()%26+65; //65부터 90까지의 난수가 발생한다.

 

ex5)

 //주문코드 생성(올플랜소스)
srand(time());
$time = substr(time(),5,5);//5번째문자에서5글자추출(0분터시작) 
for($i=0;$i<3;$i++)//알파벳 3개 추출 
{
$asc=rand()%26+65;
$c.=chr($asc);
}
$iparr = explode(".",$REMOTE_ADDR);
//자신의ip뒤에3자리입력 
$tradecode=$c.$time.$iparr[3];
echo $tradecode;//주문코드완성

 

ex6)

//AAA,AAB,AAC식으로 증가.

 //주문코드 생성(japanall.com소스)

$start=DBarray("select * from admin");

$trade_1=$admin_row[tradecode_1];
$trade_2=$admin_row[tradecode_2];
$trade_3=$admin_row[tradecode_3];

//현재3개의필드에서 숫자를 가져온다

 

if($trade_3=="91")//아스키 코드 10진수 90은 문자 Z이고 91은 문자 A로 변환

{
$trade_3=65;//A로 초기화
$trade_2++;//2번째수치1증가
}
if($trad_2=="91") 
{
$trade_2=65;//A로 초기화
$trade_1++;//3번째수치1증가
}

$OrderCode=chr($trade_1).chr($trade_2).chr($trade_3);

//아스키문자로 변환하여 병합

$trade_3++;

//3번째숫자는 항상 1씩 증가

DBquery("update admin set tradecode_1='$trade_1',tradecode_2='$trade_2',tradecode_3='$trade_3' ");

//DB에 저장

댓글목록

등록된 댓글이 없습니다.

Total 612건 21 페이지
게시물 검색

회원로그인

접속자집계

오늘
206
어제
163
최대
1,347
전체
154,740
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.