영수증 발급번호?
본문
강좌 수강신청 게시판을 운영하고 있습니다.
교육비를 받게되면 교육비 영수증을 발급해야 하는데요..
로직은
1. 수강신청자 교육비를 입금하면 관리자가 입금일자를 기록하게 됩니다.
2. 교육비 입금일자를 기록하게 되면 mypage에 영수증 출력 버튼이 생성되어
3. 관리자가 만든 영수증 양식으로 출력할 수 있게끔 되어 있습니다.
문제는
이 영수증을 발급할 때, 영수증 상단에
'제2021-03-0001호' 와 같이 발급번호를 생성하고자 하는데요..
앞에 2021-03의 경우 입금일자 입력값을 가져와 생성할 수 있습니다만,
마지막 4자리의 일련번호를 순차적으로 생성하는 법을 알고 싶습니다.
이 4자리의 값이 0001, 0002, 0003.......... 순으로 생성되었으면 하는데요..
어떠한 방법이 있을까요? 랜덤으로 하자니... 영수증 발급 관리에 문제가 있을것 같아서요...
답변 4
참고로 아래처럼 구하는 방법도 있습니다.
$temp_value = '2021-03'; // 발급일 날짜 앞부분만
$sql = "SELECT COUNT(*) AS cnt FROM 테이블명 WHERE 발급번호필드명 LIKE '{$temp_value}%'";
:
* 발급번호 필드 UNIQUE
$issue_no = sprintf('제%s-%04d호', $temp_value, (int)$row['cnt']+1); // 제2021-03-0001호, 제2021-03-0002호, ...
1) 일련번호 생성용 임시 테이블을 만듭니다.
ex.
테이블 : no_table
칼럼 : sno (int(11) auto increment)
regdate (datetime)
2) insert 문을 실행합니다.
sql_query("insert into no_table set regdate = now()");
3) 생성 번호를 가져옵니다.
$sno = sql_insert_id();
4) 숫자앞에 '0'을 채워줍니다.
$sno = str_pad($sno, 4, '0', STR_PAD_LEFT);
echo $sno;
i=1 i++ 로 해서 db에 저장시키는방식으로 하고 저장되고 있따면 no필드를 만들어서 하면되지 않을까요
일련번호 가지고 갯수를 셀 것이 아니라면
그냥 wr_id 값을 쓰는 것은 어떤가요?