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

PHP 쿠폰 발행 질문 채택완료

용용이당 4년 전 조회 1,703

안녕하세요 PHP 쿠폰을 100개 발행을 할려고합니다.

</p>

<p><?php</p>

<p>$conn = mysqli_connect("127.0.0.1:3307", "DBID", "DBPW", "buguk9");</p>

<p>



 </p>

<p>srand((double)microtime()*1000000);</p>

<p>





 </p>

<p>$x=0;</p>

<p> </p>

<p>while ($x<100){ </p>

<p> </p>

<p>   $len = 16;</p>

<p>$chars = 'ABCDEFGHJKLMNPQRSTUVWXYZ123456789';</p>

<p>   $i = 0;</p>

<p>   $str = "";</p>

<p>   </p>

<p> </p>

<p> </p>

<p>    while ($i < $len) {</p>

<p>      $num = rand() % strlen($chars);</p>

<p>      $tmp = substr($chars, $num, 1);</p>

<p>      $str .= $tmp;</p>

<p>      $i++;</p>

<p>  }</p>

<p>  </p>

<p>  $str = preg_replace('/([0-9A-Z]{4})([0-9A-Z]{4})([0-9A-Z]{4})([0-9A-Z]{4})/', '\1-\2-\3-\4', $str);</p>

<p> </p>

<p>        $sql = "INSERT INTO coupon_test ( couponNO, ID) VALUES ( '$x', '$str');";</p>

<p>        echo $str ."
";</p>

<p>        //echo $CouponNo."
";</p>

<p> </p>

<p>        $x++;</p>

<p>



 </p>

<p> </p>

<p> </p>

<p>    </p>

<p> </p>

<p>} // while </p>

<p>





 </p>

<p>$a = mysqli_query( $conn , $sql );</p>

<p> </p>

<p>if( $a ){ echo("데이터 입력성공"); }</p>

<p> </p>

<p>else { echo("데이터 입력실패"); }</p>

<p> </p>

<p>?></p>

<p>

 

이렇게 코드를 짜니 쿠폰번호는 100개가 생성은 되는데

DB에 입력은 마지막 쿠폰번호만 입력이 되더라구요 혹시 해결방법이 있을까요??

고수님들 부탁드립니다

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

답변 2개

채택된 답변
+20 포인트

</p>

<pre>
<code><?php
$conn = mysqli_connect("127.0.0.1:3307", "DBID", "DBPW", "buguk9");

 
srand((double)microtime()*1000000);

 
$x=0;
 
while ($x<100){ 
 
   $len = 16;
$chars = 'ABCDEFGHJKLMNPQRSTUVWXYZ123456789';
   $i = 0;
   $str = "";
   
 
 
    while ($i < $len) {
      $num = rand() % strlen($chars);
      $tmp = substr($chars, $num, 1);
      $str .= $tmp;
      $i++;
  }
  
  $str = preg_replace('/([0-9A-Z]{4})([0-9A-Z]{4})([0-9A-Z]{4})([0-9A-Z]{4})/', '\1-\2-\3-\4', $str);
 
        $sql = "INSERT INTO coupon_test ( couponNO, ID) VALUES ( '$x', '$str');";
        mysqli_query( $conn , $sql );
        echo $str ."
";
        //echo $CouponNo."
";
 
        $x++;

 
 
 
    
 
} // while 

  
?></code></pre>

<p>

mysqli_query <= 이부분을 반복문 안에 넣으셔야 합니다

 

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

답변에 대한 댓글 1개

용용이당
4년 전
감사합니다!! 덕분에 해결했습니다!

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

cuwaaang
4년 전

insert 쿼리 실행명령어를 반복문 안에다가 넣어야겠죠

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

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

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

로그인