2009-11-09 10 views
1

MySQL 데이터베이스의 테이블 (자선 도서실 개최일)에 날짜 목록이 있습니다.이 날짜는 페이지에 표시하고 싶습니다. 한 페이지에는 다음 마구를, 다른 마침표에는 다음 달 마구간이 표시됩니다. (현재 정렬되지 않은 HTML 목록을 사용하고 있으며 PHP로 날짜를 선택하고 있지만 약간 지저분하며 날짜에 데이터베이스에 저장된 모금액 합계를 연결하고자합니다.)MySQL의 다음 날짜 선택

나는 데이터베이스에 날짜를 넣어서 매주 기금 모금으로 날짜를 매길 수 있습니다. 나는 다음 주 날짜를 표시하기 위해 'LIMIT 1'을 사용할 수있는 가장 가까운 최신 날짜로 날짜를 식별 할 수 있고, 'LIMIT 4'는 날짜를 표시해야하는 위치를 말하고 있다고 생각합니다. 다음 달,하지만 내가 알아낼 수없는 것은 가장 가까운 최신 날짜로 기록을 식별하는 방법입니다. 현재 날짜를 확인한 다음 가장 가까운 날짜를 선택하는 것입니다. 아마도 MySQL 날짜 중 하나가 있다고 생각합니다. 이 기능을 돕기 위해 설득 될 수는 있지만 정확히 어떻게 해석 할 수는 없습니다.

어떻게 할 수 있습니까?

답변

2

내가 올바르게 이해하면 오늘 이후의 다음 네 날짜를 선택할 수 있습니다. MySQL에서는 'today'비트에 CURDATE() 함수를 사용할 수 있습니다. 그런 다음 select 문에 명령과 제한을 적용하십시오. 예 :

SELECT stall_date 
FROM stall_dates 
WHERE stall_date >= CURDATE() -- >= assumes you want today's to show too 
ORDER BY 
     stall_date 
LIMIT 4 

ORDER BY stall_date DESC을 사용하면 필요한 경우 순서를 바꿀 수 있습니다.

2

열이 DATETIME 필드 인 경우 SELECT...WHERE event_date > "2009-11-06"ORDER BY event_date을 사용하여 다음 열을 식별 할 수 있습니다.

SELECT * FROM so_events 
WHERE event_date > "2009-11-06 15:36:00" 
ORDER BY event_date ASC 
LIMIT 4 

MySQL은 당신이 WHERE 절에 지정하는 것보다 더 큰 타임 스탬프 당신이 선택 행에 대한 작업을 내부적으로합니다.