쿼리문 을 잘 사용할 줄 모르겠습니다. 담배 드립니다^^;; > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

쿼리문 을 잘 사용할 줄 모르겠습니다. 담배 드립니다^^;; 정보

쿼리문 을 잘 사용할 줄 모르겠습니다. 담배 드립니다^^;;

본문

안녕하세요^^;;;

3일을 고민했으나 하지 못해 아래 코드를 부득이하게 질문 드리게 되었습니다.

사용 용도는 강의 일정을 등록하는 용도이며, 같은 날짜에 같은 강사가 wr_6(시작시간)~wr_7(종강시간) 사이의 시간에 등록하면, alert 가 뜨는 쿼리문을 작성하려 나름 노력한 것입니다^^;;;

솔찍히 for 문을 돌려야 할지도 잘 모르는 상태에서 무작정 3일간 저것에 매달렸는데 도저히 답이 안 나옵니다. 부탁드리건데 조금만이라도 알려 주시면 정말 감사드릴께요~

bbs/wirte_update.php 에서 제어 하면 될 것 같습니다.

wr_6 (시작 시간)과 wr_7(종강 시간)은 between 으로 돌리면 대략 될 것 같습니다 ㅠㅠ
제작해야 할 만한 사항이 아니라 쿼리 한 줄로 처리 될 듯하여 이곳에 올리나, 혹 비용이 발생할 수도 있는 부분이라면 *** 개인정보보호를 위한 휴대폰번호 노출방지 *** 로 연락 부탁드립니다.
정말 급하기도 하고 하여, 처리해 주시는 분께 감사의 마음으로
담배 8갑 정도 보내드리겠습니다^^;;; (처리해주신 고마운 분 연락 주세요~ 진짜 보내드립니다)
감사합니다^^;;

wr_link1 (시작일) / wr_10 (강사명) ---> 이 두 조건이 만족할 때
wr_6(시작 시간) ~ wr_7(종강 시간) ---> 입력받은 wr_6 과 wr_7 중 하나라도 지난 입력받은 필드 값 사이에 있다면,  alert 창 띄움

-----------------------------아래는 하다가 망친 소스 입니다 ㅠㅠ-----------------------------
$row = sql_fetch(" select MD5(CONCAT(wr_6, wr_7, wr_10, wr_link1)) as prev_md5 from $write_table order by wr_id desc limit 1 ");
    $curr_md5 = md5($wr_6.$wr_7.$wr_10.$wr_link1);
      if ($row[prev_md5] == $curr_md5 && !$is_admin)
      {
        alert("이미 그 시간에 등록 된 강의 일정이 있습니다");
  • 복사

댓글 전체

SELECT COUNT(*) FROM $write_table WHERE wr_10 = $wr_10 AND wr_link1 = $wr_link1 AND ($wr_6 BETWEEN wr_6 AND wr_7) AND ($wr_7 BETWEEN wr_6 AND wr_7 );
이렇게 하면 되지 않을까싶습니다.
count가 0이면 그 시간에 등록된 강의가 없는 것이구요
0이 아니면 등록된 강의가 있는것 이겠죠?
$wr_10은 입력으로 들어온 강사명,
$wr_link1은 입력으로 들어온 시작일,
$wr_6는 입력으로 들어온 시작시간,
$wr_7은 입력으로 들어온 종강 시간 입니다..
SELECT COUNT(*) FROM $write_table WHERE wr_10 = $wr_10 AND wr_link1 = $wr_link1 AND (($wr_6 BETWEEN wr_6 AND wr_7) OR ($wr_7 BETWEEN wr_6 AND wr_7 ) OR (( wr_6 > $wr_6 ) AND (wr_7 < $wr_7)));
좀 수정했습니다..
        |          | <-- 등록되어있는 강의시간
    |                  |  <-- 입력으로 들어온 강의시간
이런 경우를 생각을 못했군요;;
© SIRSOFT
현재 페이지 제일 처음으로