Bueno lo primero seria modificar la Base de datos.
Código SQL:
Ver originalCREATE TABLE `fblike` (
`id` INT(10) NOT NULL AUTO_INCREMENT,
`like` TEXT NULL,
`hits` BIGINT(20) NULL DEFAULT '0',
`fecha` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
)
En realidad solo debes crear el ultimo campo fecha, que no necesitaremos incluirlo en la consulta INSERT o UPDATE pues el solo se pondra.
Luego es solo manejar un poco las fechas:
Código PHP:
Ver original// Ponemos la zona horaria por defecto.
// Creamos un objeto Fecha
//$fecha = new DateTime();
$fecha = DateTime
::createFromFormat('Y-m-d H:i:s', date('Y-m-d H:i:s') );
// Fecha menos 30 dias
$fechaAnt = $fecha->modify('-30 day')->format('Y-m-d H:i:s');
echo '<br>' . $fechaAnt . '<br>';
$mysqlQuery = "SELECT * FROM fblike WHERE "
. "fecha BETWEEN '" . $fechaAnt . "' and '" . $fecha->date . "' " . "ORDER BY hits desc LIMIT 0,10";
echo $mysqlQuery;
Te deje para los últimos 30 días, pero para 10, 7 , 1 o lo que sea ves que es facil, solo cambiar el -30 por los días anteriores que se requiere y pronto.
Saludos
Nota: Veras que te deje la consulta armada el resto es simplemente consultar a la base de datos y mostrar.