나는 this calendar 플러그인을 사용하여 mySQL db를 사용하여 내 고객의 일정을 표시합니다. 캘린더에 게시물이 같은 start
및 end
UNIX 타임 스탬프 내 스크립트에 요청 : 내 스크립트에서DATEDIFF를 사용하여 행을 선택하는 방법은 무엇입니까?
/getevents.php?start=1262332800&end=1265011200&_=1263178646
//That last piece of data is to prevent caching.. apparently
, 나는 MySQL로 datetime
목적이 같은 유닉스 타임 스탬프로 변환 :
$start = $_GET['start'];
$end = $_GET['end'];
$start = gmdate("Y-m-d H:i:s", $start);
$end = gmdate("Y-m-d H:i:s", $end);
printf($start.".....".$end);
이를 다음과 같은 내용이 올바르게 인쇄됩니다 (2012 년 9 월까지 이동).
2012-08-26 04:00:00.....2012-10-07 04:00:00
이제 해당 날짜 사이에있는 모든 이벤트를 데이터베이스에서 선택하려고합니다. 내 데이터베이스는 1 개 행을 가지고 있으며, start
필드 오늘의 날짜 :
id start end
10 2012-09-05 20:27:00 0000-00-00 00:00:00
그러나 다음과 같은 SQL 문을
, 나는 결과를 얻을 수 없습니다. 나는>
을
<
에 반전 시키려고 시도했지만, 그저 아무것도 할 필요가 없다. 전혀 오류가 없으며 결과가 없습니다. 당신이 볼 수 있듯이
$sql = "SELECT * FROM all_events WHERE DATEDIFF('$start', 'start') > 0";
$result = mysql_query($sql, $link) or die(mysql_error());
echo "Rows:".mysql_num_rows($result);
, 지금 난 그냥 이벤트의 start
달력의 날짜 범위의 start
이 .. 즉, 당당한 26 년 9 월의 월의 start
보다 크다는 것을 확인하고있다.
아무 것도 보이지 않습니다 ... 도와주세요! 나는 머리카락을 찢어 버리고있어!
"SELECT * FROM 테이블 WHERE DATEDIFF ($ end, $ start)> 0"즉, 양수 인 –