1씩 증가하는 번호를 1~4만큼 랜덤하게 증가하게 만드려면 어떻게 해야하나요??
본문
$date = date("ymd", time()); // 2002년 3월 7일 일경우 020307
$sql = " select max(od_id) as max_od_id from $g4[yc4_order_table] where SUBSTRING(od_id, 1, 6) = '$date' ";
$row = sql_fetch($sql);
$od_id = $row[max_od_id];
if ($od_id == 0)
{
//$od_id = 1;
// 시작하는 포인트를 145에서 999 사이에서 임의로 선택
$od_id = rand( '145', '999');
}
else
{
$od_id = (int)substr($od_id, -4);
$od_id++;
}
$od_id = $date . substr("0000" . $od_id, -4);
해당코드에서 $od_id++ 이부분을 바꾸고싶어요
기본적인 c언어만 할줄알아서
이부분이 1씩 더해진다는 의미인건 알겠습니다
그런데 이부분을 1~4중 랜덤한 숫자만큼 더해서 증가시키고 싶은데 어떻게 해야할까요??
001-002-003 이런식이 아니라
001-003-004-008 이런식으로 증가하게 만들고싶어요!
그리고 ($od_id, -4);
이부분에서 -4는 무슨 기능인가요??
!-->답변 1
랜덤은
mt_rand(1, 4); // 3
https://www.php.net/manual/en/function.mt-rand.php
랜덤으로 만든 숫자를 세자리 수로 바꿔서 string 캐스팅 해야겠군요
sprintf('%03d', mt_rand(1, 4)); // 003
https://www.php.net/manual/en/function.sprintf
$a = '001-002-003';
$b = '008';
$c = $a.'-'.$b; // 문자열 더하기 001-002-003-008
https://www.php.net/manual/en/language.operators.string.php
substr 은 substring 으로 문자열의 부분을 자르는 함수인데
마이너스면 뒤에서 부터 셉니다
https://www.php.net/manual/en/function.substr.php
답변을 작성하시기 전에 로그인 해주세요.