Ver Mensaje Individual
  #6 (permalink)  
Antiguo 28/10/2012, 17:59
Avatar de portalmana
portalmana
 
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 16 años, 7 meses
Puntos: 80
Respuesta: Consultas en php

Bueno lo primero seria modificar la Base de datos.
Código SQL:
Ver original
  1. CREATE TABLE `fblike` (
  2.     `id` INT(10) NOT NULL AUTO_INCREMENT,
  3.     `like` TEXT NULL,
  4.     `hits` BIGINT(20) NULL DEFAULT '0',
  5.     `fecha` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  6.     PRIMARY KEY (`id`)
  7. )
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
  1. // Ponemos la zona horaria por defecto.
  2. date_default_timezone_set('America/Montevideo');
  3.  
  4. // Creamos un objeto Fecha
  5. //$fecha = new DateTime();
  6. $fecha     = DateTime::createFromFormat('Y-m-d H:i:s', date('Y-m-d H:i:s') );
  7.  
  8. // Fecha menos 30 dias
  9. $fechaAnt   = $fecha->modify('-30 day')->format('Y-m-d H:i:s');
  10. echo '<br>' . $fechaAnt . '<br>';
  11. $mysqlQuery = "SELECT * FROM fblike WHERE "
  12.             . "fecha BETWEEN '" . $fechaAnt . "' and '" . $fecha->date . "' "
  13.             . "ORDER BY hits desc LIMIT 0,10";
  14.  
  15. 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.
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp