테스트 사이트 - 개발 중인 베타 버전입니다

상품등록할때 상품번호 커스터마이징해봤는데 질문있습니다! 채택완료

가루눈 6년 전 조회 1,822

</p>

<p>    do {

        //4자리 난수 생성

        $code = strtoupper(md5(rand(1000,9999).date("Y-m-d H:i:s")));

        $sn = $code[rand(0,1)].$code[rand(2,3)].$code[rand(4,5)].$code[rand(6,7)];

        $cate = substr($ca_id3,2,4);

        $it_id =  $cate.$sn;



        // it_id가 겹쳤다면 다시돌기

        $sql = "select it_id from {$g5['g5_shop_item_table']} it_id = '$it_id'";

        $it_id_already = sql_fetch($sql);

    }while($it_id_already['it_id'] == '');</p>

<p>

itemformupdate.php 에서 상품등록할때

it_id가 난수로 생성하는것이 아닌 카테고리+난수 이렇게 생성하려고 합니다

난수가 혹시나 겹칠수 있으니 do while문을 활용해서 값이있는지 없는지 확

인할려고하는데 파일이 뻗어버리네요. 소스상에는 문제가 없는지 확인해주실수있나요?

아니면 다른 좋은방법있을까요??

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트

혹시 it_id 가 중복되는 경우가 있던가요? 저 같으면 그냥 쓰다가 문제가 발생하면 수정하겠습니다.

위 코드는 일단 쿼리문에 오류가 있습니다. while문도 이상합니다. 중복된 값이 없으면 무한 반복?

echo로 한번 찍어보세요 결과가 어떻게 나오고 몇번을 반복하는지.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

가루눈
6년 전
앗 쿼리문은 where 빼고 올렸네요...
제가 do while을 잘못이해하고 있었나봐요!
}while($it_id_already['it_id'] == '');
이부분을 }while($it_id_already['it_id'] != ''); 으로 바꿔주면 되는거였어요!! 감사합니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인