회원번호를 부여 해보고 싶은데요!! 채택완료
if($member[mb_id] && !$member[mb_1]){
$nn=ceil($member[mb_no] / 10000); // 1~10000까지는 A를 붙임 , 10001~20000까지 B를 붙임....
$member['mb_1'] =chr(64+$nn).sprintf("%04d", $member[mb_no]); // 1--> A0001, 10--> A0010, 10001--> B10001 으로 만듦
sql_query("update $g5[member_table] set mb_1 = '{$member['mb_1']}' where mb_id='{$member['mb_id']}' ");
}
?>
회원카드를 만들일이 생길수 있을꺼 같아서 회원번호를 만들어 볼려고 검색해보니까 위와 같은 코드가 있던데요. 제가 해보고 싶은거는
A0001 ~ A9999 그 이후는 만번으로 가는게 아니라 B0001~B9999 C0001~C9999
이런식으로 가고 싶은데 저 소스를 어떻게 수정을 해줘야 할까요?
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
9년 전
</p><p><?</p><p>$member['mb_no'] = 20001; // 회원 번호가 20001이라고 가정
$q = (int)($member['mb_no'] / 9999);
$r = $member['mb_no'] % 9999;
$cha = "A";
for($i=0; $i<$q; $i++) $cha = ++$cha;
echo $cha.sprintf("%04d", $r);</p><p>?></p><p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 8개
�
9년 전
이건 입력을 해 주는 게 아니고 현재 회원의 번호(g5_member 테이블의 mb_no)를 기준으로 말씀하신 회원 번호?? 그걸 뿌리는 겁니다.
저장하는 거는 따로 구현을 하시면 됩니다.
저장하는 거는 따로 구현을 하시면 됩니다.
H
9년 전
이렇게 하니까 9998 까지는 A9998 이렇게 나오는데 9999 부터 B0001 로 되는군요!?!? 큰 도움이 되었습니다. 감사합니다.
�
9년 전
echo $cha.sprintf("%04d", $r);
이걸 변수로 지정해서 사용하시면 될 거 같네요.
$result = $cha.sprintf("%04d", $r);
이걸 변수로 지정해서 사용하시면 될 거 같네요.
$result = $cha.sprintf("%04d", $r);
�
9년 전
[code]
$div = 9999;
$member['mb_no'] = 10001;
$q = ceil($member['mb_no'] / $div) - 1;
$r = ($member['mb_no'] > $div) ? $member['mb_no'] - ($div * $q) : $member['mb_no'];
$cha = "A";
for($i=0; $i<$q; $i++) $cha = ++$cha;
echo $cha.sprintf("%04d", $r);
[/code]
10000, 9999, 10001
좀 특정한 숫자에서 계산 착오네요.
$div = 9999;
$member['mb_no'] = 10001;
$q = ceil($member['mb_no'] / $div) - 1;
$r = ($member['mb_no'] > $div) ? $member['mb_no'] - ($div * $q) : $member['mb_no'];
$cha = "A";
for($i=0; $i<$q; $i++) $cha = ++$cha;
echo $cha.sprintf("%04d", $r);
[/code]
10000, 9999, 10001
좀 특정한 숫자에서 계산 착오네요.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인전체 질문 목록
채택
채택
채택
답변대기
채택
채택
채택
답변대기
답변대기
답변대기
채택
채택
채택
채택
채택
채택
채택
답변대기