Добрый день,
нужно сделать сортировку постов по просмотрам за сегодня, вчера, неделю, месяц... не подскажите скрипт где это уже реализовано ? структуру баз данных...
Спасибо.
Переделал наскоро из счетчика скачиваний файлов, но думаю несложно переделать под "просмотры". Могут быть мелкие ошибки.
----------------------------запрос для создания таблицы---------------------------------------------------
DROP TABLE IF EXISTS `download_manager`;
CREATE TABLE `download_manager` (
`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`filename` CHAR(255) NOT NULL DEFAULT '',
`down_date` DATE NOT NULL DEFAULT '0000-00-00',
`downloads` INT(11) NOT NULL DEFAULT '0'
) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci AUTO_INCREMENT=1;
CREATE UNIQUE INDEX download_manager_Index1 ON download_manager(`down_date`,`filename`);
----------------------------запрос при скачивании файла---------------------------------------------------
$sql = "INSERT INTO download_manager SET down_date = CURDATE(), filename='".mysql_real_escape_string($file)."'
ON DUPLICATE KEY UPDATE downloads=downloads+1";
----------------------------запросы для выборки---------------------------------------------------
выборка за сегодня:
$sql = "SELECT downloads FROM download_manager WHERE down_date = CURDATE()";
выборка за вчера
$sql = "SELECT downloads FROM download_manager WHERE down_date BETWEEN DATE_SUB(CURDATE(), INTERVAL 1 DAY) AND CURDATE()";
выборка за неделю
$sql = "SELECT SUM(downloads) FROM download_manager WHERE down_date BETWEEN DATE_SUB(CURDATE(), INTERVAL 7 DAY) AND CURDATE()";
выборка за месяц
$sql = "SELECT SUM(downloads) FROM download_manager WHERE down_date BETWEEN DATE_SUB(CURDATE(), INTERVAL 1 MONTH) AND CURDATE()";