php (sql)구문 질문 드립니다... 고수님들 부탁드려요 채택완료

1년 전 조회 7,045

지금 wr_98 에 랜덤 번호를 생성하고 집어넣고 이미 wr_98안에 들어있다면 번호가 없으면 생성하게 했는데 번호가 있어도 자꾸 새로 번호를 생성을 해버리네요... 제 구문이 틀렸을까요... write_free 가 테이블 명이고 wr_98에 넣습니다... 고수님들 부탁드립니다.

Copy
<?php

// 글 ID를 기준으로 wr_98 값을 조회

$query = "SELECT wr_98 FROM $write_free WHERE wr_id = '$wr_id'";

$result = sql_query($query);

$row = sql_fetch_array($result);

 

if (isset($row['wr_98']) && trim($row['wr_98']) !== '') {

    // 데이터베이스에서 조회한 번호가 유효하면 사용하고 처리 중단

    $contractNumber = $row['wr_98'];

    // 계약번호 출력하고 스크립트 종료

    echo $contractNumber;

    exit; // 또는 return; (함수 내부에서 사용하는 경우)

} else {

    // 유효한 번호가 없으면 새로 생성

    $baseContractNumber = date("YmdHis");

    $randomNumber = mt_rand(100, 999);

    $contractNumber = $baseContractNumber . $randomNumber;

 

    // 생성된 번호를 데이터베이스에 저장

    sql_query("UPDATE $write_free SET wr_98='$contractNumber' WHERE wr_id = '$wr_id'");

 

    // 새로 생성된 계약번호 출력

    echo $contractNumber;

}

?>

답변 4개

채택된 답변
+20 포인트
if (isset($row['wr_98']) && trim($row['wr_98']) !== '') {

이 라인 위에서  echo  $row['wr_98']; 이게 잘 찍힌다면

if ($row['wr_98']) {

그냥 이렇게만 해도 될듯 합니다.

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

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

wr_id 번호를 기준으로 데이터를 확인한다고 하시면

Copy
$query = "SELECT wr_98 FROM $write_free WHERE wr_id = '$wr_id'";
$row = sql_fetch($query);

는 어떠신가요..

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

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

!== 가 아닌 != 로 하셔야 하고...

그냥 저라면

if(!empty($row['wr_98'])){

존재

}else{

미존재

}

로 할듯요..^_^

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

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

Copy
if (isset($row['wr_98']) && trim($row['wr_98']) != '') { // != 사용
로그인 후 평가할 수 있습니다

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

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

로그인
🐛 버그신고