2014-01-14 3 views
2

Итак, у меня есть скрипт, который хранит данные в базе данных MYSQL каждый час, и я работаю над помещением этих данных в график. Я хотел бы сделать график с двумя строками. Первая строка будет данными за последние 24 часа, а вторая строка будет данными за предыдущие 24 часа.PHP MYSQL Выберите данные за последние 24 часа и предыдущие 24 часа

Я пытался обращаться к базе данных, как это:

// this is for the first line in the graph 
"SELECT * FROM database WHERE date >=(DATE_SUB(now(), INTERVAL 24 HOUR))"; 

// this is for the second line in the graph 
"SELECT * FROM database WHERE date >=(DATE_SUB(now(), INTERVAL 48 HOUR)) AND date <=(DATE_SUB(now(), INTERVAL 24 HOUR))"; 

Но результаты не совсем правильно .. Я прошу прощения, если мой MYSQL паршиво, я только учусь прямо сейчас.

Интересно, что приведенный выше код не дает мне все данные из первых 24 часов или за последние 24 часа, но когда я изменить запрос следующим образом:

// this is for the first line in the graph 
"SELECT * FROM database WHERE date >=(DATE_SUB(now(), INTERVAL 48 HOUR))"; 

// this is for the second line in the graph 
"SELECT * FROM database WHERE date >=(DATE_SUB(now(), INTERVAL 3 DAY)) AND date <=(DATE_SUB(now(), INTERVAL 2 DAY))"; 

Это, как представляется, работать на какое-то странное причина?

Это формат моей базе данных:

id | data | date | time 
0 | 0.00 |Y-d-m |H:i:s 

Сейчас она насчитывает около 68 статей.

Может кто-нибудь помочь мне понять это? Или рекомендовать лучший метод? Заранее спасибо!

+0

Можете ли вы предоставить некоторые примеры данных (предпочтительно в форме 'INSERT INTO ... VALUES (...' statements) и результатов, которые вы получаете + текущее значение Now(), когда вы запускали тест скрипт? – VolkerK

ответ

2

Проверьте, синхронизированы ли часы вашего сервера php и mysql.

Смежные вопросы