예약 시스템 중복 체크

예약 시스템 중복 체크

QA

예약 시스템 중복 체크

답변 1

본문

for($i=6;$i <= 22;$i++){    

    $text = "";
    $time = $i.":00~".($i+1).":00";
    $check_reserv = sql_Fetch("select count(*) as cnt from g5_write_04 where wr_1 = '$wr_1' and wr_3 = '$wr_3' and wr_4 = '$wr_4' and wr_7  = '$time'");
    
    if((int)$check_reserv > 0){
        $text = "(예약불가)";    
    }
    else{
        $text = "";
    }

    echo "<option value='".$time."' >".$time.$text."</option>";

}

 

그누보드에서 도움을 받아서 예약 시스템에 적용하는 내용입니다... Ajax로 예약 장소, 예약 코트, 예약 날짜 정보를 받고, for문 안에서 $time이라는 변수를 선언해서 시간대가 변해가면서 체크하는 쿼리를 작성하였는데 최종적으로 echo 부분에 모든 항목에 $text값이 붙어서 출력되는 현상이 있습니다ㅠㅠ for 문 안에서 데이터들을 찍어보는 방법도 몰라서 질문 드립니다ㅠ

이 질문에 댓글 쓰기 :

답변 1

모든 항목에 $text값이 붙는다면

모든 항목에 (예약불가)가 붙는다는 말인가요?

아주 간단합니다.

위에 코드를 보시면


$check_reserv = sql_Fetch("select count(*) as cnt from g5_write_04 where wr_1 = '$wr_1' and wr_3 = '$wr_3' and wr_4 = '$wr_4' and wr_7  = '$time'");

이렇게 $check_reserv 변수에 쿼리를 실행한 결과를 담으셨는데요?

 

아래 조건에서는


if((int)$check_reserv > 0){
    $text = "(예약불가)";    
}
else{
    $text = "";
}

이렇게 해당 변수를 if 문으로 넣으셨습니다.

 

간단합니다.

다음과 같이 if문을 변경하세요.


if((int)$check_reserv['cnt'] > 0){
    $text = "(예약불가)";    
}
else{
    $text = "";
}
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 120
© SIRSOFT
현재 페이지 제일 처음으로