2011-02-11 6 views
0
간격

와 문제 : ID를,SQL 쿼리 - 나는 많은 두 개의 열이있는 테이블이

  • 아이디 MyDate가 숫자입니다; 나는이 테이블 (10) 기록을 가지고 2011-02-10 9시 25분 2초

:

  • MyDate가이 날짜 같다. (8) 기록이 = 1111 개의 ID = ID

    데이터베이스에있는 두 개의 행 2222 : 페이지가로드되면

    id   mydate 
    2222  2011-02-10 09:25:02 
    2222  2011-02-09 18:44:08 
    

    , 나는 ID를 위해 특별히 내 테이블을 검사 할 그 차이 사이의 경우 이 ID와 DATE의 DATE이 X 일보다 크면 해당 레코드를 업데이트하고 싶습니다.

    나는 이런 식으로 뭔가를 시도 :

    $X=1; 
    
    $query = "SELECT id FROM testtable WHERE id='2222' AND mydate > DATE_SUB(NOW(), INTERVAL $X DAY)"; 
    $result = mysql_query($query) or die("something went wrong.."); 
    $test= array(); 
    if (mysql_num_rows($result) > 0) { 
        $i = 0; 
        while($test[$i] = mysql_fetch_array($result)) { 
        $i++; 
    
        } 
        } 
        echo "the number of rows is:".$i; 
    

    그러나이 $ 내가 가진

    가 난 다음 내가 에코 2를 가지고 2 = X $ 변경 empty.If입니다. 나는 이해하지 못한다. 현재 서버의 날짜 : 2011 년 2 월 금요일 11 11시 41분 51초

  • 답변

    1

    DATE_SUB(NOW() 대신 DATE_SUB(CURDATE()을 사용하면 오늘 자정까지 이동할 수 있습니다.

    0

    당신이 질문 할 때 테이블의 두 행이 자연스럽게 그들이 반환되지 않습니다 현재 시간 전에 하루 이상하다 1 일 미만의 행 당신의 실수는 당신이 (당신의 코드가 아닌) 사람이 시간 부분을 그렇게 보지 않았다고 생각합니다.

    관련 문제