2016-09-20 3 views
1

오늘의 타임 스탬프를 일치하는 행을 가져옵니다.여기 <code>time_stamp</code> 저장 <code>time()</code> 값을 PHP는 내가 세 fileds <pre><code>id name time_stamp </code></pre> <p></p>와 MySQL의 테이블을 PHP는 MySQL의

현재 시간 기록과 일치하는 필드를 가져오고 싶습니다. 이제 모든 행을 가져 와서 일치하는 경우 루프의 시간 스탬프 조건을 확인하면 현재 행이 인쇄됩니다.

어쨌든 mysql 쿼리 자체에서이 작업을 수행 할 수 있습니까? 당신이 (time())을 유닉스 타임 스탬프를 삽입하기 때문에

+0

당신이 아직 시도 무엇 코드 :

여기에 다른 방법으로 주위. 귀하의 진전을 보장하는 것이 유용 할 수 있도록 게시하십시오. –

+0

이것을 확인하십시오 http://stackoverflow.com/questions/14769026/mysql-select-where-timestamp-today – Sasikumar

+0

'SELECT * FROM 'table'WHERE DATE ('time_stamp') = NOW()'에 가야합니다. – Akshay

답변

3

에 대한() 또는하는 currentDate() 함수를 사용할 수 있습니다, 당신은 모든 행을 페치 페치에 비교를 할 필요가 없습니다. 예를 들어 오늘부터 기록을 얻기 위해 데이터베이스에

SELECT * FROM table_name WHERE FROM_UNIXTIME(`time_stamp`, '%Y-%m-%d') = CURDATE() 

Fiddle

+0

맞아요. –

0

당신은 지금

0

당신은 사이에 작업을 수행 할 수 있습니다, 또는 당신은 당신이 필요로하는 특정 형식으로 날짜를 변환 할 수 있습니다 : 그냥 MySQL의에서 FROM_UNIXTIME()를 사용합니다. 사람이 읽을 수에

당신은 DATE_FORMAT와 사이의 경우 사용이 경우 http://www.w3schools.com/sql/func_date_format.asp

를 사용하고 필요한 것만 선택할 수 있습니다. 내가 희망

1

당신은 UNIX_TIMESTAMP를 저장하는 데 도움이.

그래서 하나 개의 방법이있다 : , '%Y-%m-%d') = CURDATE() @Ghost 이미 그의 대답이 게시

SELECT * FROM table_name WHERE FROM_UNIXTIME( TIME_STAMP

그러나이 방법 하나의 잠재적 인 문제는 인덱스의 사용 (있는 경우)를 할 수 없다는 것입니다 time_stamp에 있습니다.

SELECT * FROM 
table_name 
WHERE time_stamp BETWEEN UNIX_TIMESTAMP(CURDATE()) AND (UNIX_TIMESTAMP(CURDATE() + INTERVAL 1 DAY) - 1) 
관련 문제