2017-02-21 7 views
1

Я работаю над PHP и MySQL, хочу подсчитать результат, который генерируется сегодня и вчера.Создать результат по времени

Вот скриншот моего phpmyadmin, а таблица results. В date_generate колонке я использовал TIMESTAMP

table

У меня есть этот запрос, подсчитать общее количество результатов

<?php 

    $query = $db->query("SELECT * FROM `results`"); 
    $count = $query->rowCount(); 
    echo $count; 
+0

Вот подсказка: начните с помощью 'WHERE' положение. Вы должны проявить минимальные усилия, прежде чем обращаться за помощью. –

+0

да, я пробую форму вчера, но все еще проблема, могу отправить сообщение для этого вопроса –

+0

Добро пожаловать в Stackoverflow. Пожалуйста, сделайте некоторое исследование, прежде чем задавать новые вопросы. На этот ответ уже много раз ответили. Проверьте эту ссылку: http://stackoverflow.com/questions/10395444/mysql-count-and-group-by-day –

ответ

0

Заменить запрос:

$query = $db->query("SELECT * FROM `results` where date_generate BETWEEN DATE_ADD(CURDATE(), INTERVAL -1 day) AND CURDATE()"); 
$query->execute(); 
echo $count = $query->rowCount(); 
+0

спасибо, братья, что ее работа сейчас –

+1

Проверьте обновленный ответ и используйте переменную $ count. echo $ query-> execute(); всегда будет возвращать 1 или 0, так как его возвращаемый тип всегда будет BOOL (true или false) –

+0

yes now working fime :) –

1

Вы должны использовать group by, чтобы получить записи, созданные на основе date_genrate. Таким образом, ваш запрос будет что-то вроде Учитывая date_generate как timestammp

SELECT DATE(FROM_UNIXTIME(date_generate)) AS date_g, COUNT(id) AS NumPosts 
FROM results 
WHERE date_generate BETWEEN DATE_ADD(CURDATE(), INTERVAL -1 day) AND CURDATE() 
GROUP BY date_g 
ORDER BY date_g 
+0

Я пробовал это, но все же этот вывод показывает 1 вот запрос, который я попробовал ' query (" ВЫБОР ДАТЫ (FROM_UNIXTIME (date_generate)) А.С. date_g, COUNT (ID) КАК NumPosts из результатов ГДЕ date_generate МЕЖДУ DATE_ADD (CURDATE(), ИНТЕРВАЛ -1 день) и CURDATE() GROUP BY date_g ORDER BY date_g «) ; echo $ query-> execute();?> ' –

+0

get row_count .... execute вернет только выполненный запрос успешно или нет .... попробуйте запустить запрос непосредственно в phpmyadmin и посмотреть результат ... – Naincy

+0

спасибо, проблема решена @VikasUmrao –

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