2016-06-09 2 views
-3

나는 예약 된 PHP 웹 사이트에서 연습하고 있습니다. 저는 오늘과 다음 주 동안 예약을 표시하고자하는 세 가지 탭을 만들었습니다. 지금까지 나는이 MySQL의 쿼리가 :현재 날짜를 기준으로 한 결과가있는 SQL 쿼리

$sql = "SELECT * 
     FROM users 
      LEFT JOIN reserveringen ON (users.userID = reserveringen.userID) 
     WHERE reserveringen.kamertype = 1 
      AND reserveringen.datum <= DATEADD(day,+7, GETDATE())"; 

을하지만 난 그것을 편집

결과가

를 표시 나던 :

나는 결과가있는 경우 말하는 경우-else 문을 한 그들에게 다른 반향을 표시 "오는 주 예약이 없다"는 메시지. 이것은 모든 예약을 표시하기위한 쿼리이며 잘 실행 :

$sql = "SELECT * 
     FROM users 
      LEFT JOIN reserveringen ON (users.userID = reserveringen.userID) 
     WHERE reserveringen.kamertype = 1` 
+3

방법이 작동하지 않습니다

$sql = "SELECT * FROM users LEFT JOIN reserveringen ON (users.userID = reserveringen.userID) WHERE reserveringen.kamertype = 1 AND reserveringen.datum <= DATE_ADD(CURRDATE(), INTERVAL 7 DAY)"; 
? –

+1

정확하게 작동하지 않는 이유를 설명 할 수 있습니까? 오류가 있습니까? 잘못된 결과? – Mureinik

+3

어떤 데이터베이스입니까? 어떻게 작동하지 않습니까? –

답변

0

함수 이름 DATEADD()는 트랜 잭트 SQL 함수이다. MYSQL 그것은 DATE_ADD()이라고하며 매개 변수는

그래서이 일을 할 가능성이뿐만 아니라 다른

+0

감사합니다. 오늘 날 예약 했어. 'INTERVAL 1 DAY'와 (과) 다른가? – Phundament

+0

좋은 해결책 인 것 같습니다. [DATE_ADD()'에 대한 문서를 확인하십시오. (https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_date- 추가) 당신이 유용 할 수있는 다른 간격이 있습니다. 'DATE_SUB()'도 있습니다. – RiggsFolly

관련 문제