Foros del Web » Programando para Internet » PHP »

diferentes busquedas por fechas

Estas en el tema de diferentes busquedas por fechas en el foro de PHP en Foros del Web. Buenas compañeros, tengo que hacer un contador de clics, He hecho este sencillo y me funciona bien: Código PHP: $direccion = $_GET [ "url" ]; ...
  #1 (permalink)  
Antiguo 05/09/2006, 11:40
Avatar de susaninhax  
Fecha de Ingreso: noviembre-2004
Mensajes: 358
Antigüedad: 19 años, 5 meses
Puntos: 3
Pregunta diferentes busquedas por fechas

Buenas compañeros, tengo que hacer un contador de clics, He hecho este sencillo y me funciona bien:
Código PHP:
$direccion=$_GET["url"];
$ip=$_SERVER['REMOTE_ADDR'];
$fecha_actual=date("Y-m-d H:i:s");

include(
"../conexion/conexion.php");
$link=Conectarse();
//No modifiques nada de aqui, si no saves lo que haces!!!

mysql_query("INSERT INTO cuentaclicks (id, clicks, url, fecha_actual, ip) VALUES ('NULL','1','$direccion', '$fecha_actual', '$ip')");
Header("Location: $direccion"); 
De tal modo que me guarda la url donde ha pinchado, la fecha y hora en que lo ha hecho y la ip desde la cual lo ha hecho.

Pues bien, luego necesito mostrar estos datos de la siguiente manera:

Cuantos clics han hecho el último día ???????
la última semana????
El último més?????

Y claro ahí viene mi problema, no se como indicarle que me reste a partir del día de hoy , 7 días atrás para saber cuantos clics han hecho durante la última semana...

Por cierto mi campo FECHA_ACTUAL en la base de datos es del tipo DATETIME, pa guardar la hora pk tambien la necesito para siguientes consultas...

Alguien me sujiere como hacerlo????? muchas gracias de antemano a todos,

SALUDOSSS!!!
  #2 (permalink)  
Antiguo 05/09/2006, 12:00
Avatar de susaninhax  
Fecha de Ingreso: noviembre-2004
Mensajes: 358
Antigüedad: 19 años, 5 meses
Puntos: 3
he hecho esta consulta, pero no tiene ni pies ni cabeza,

pretendo que coja el día de hoy y reste 7 dias atrás y cuente los clics que haya durante esas fechas, pero no se como hacerlo, alguien me hecha un cable? toy hecha un lio...

Código PHP:
$sql_sietedias="select clicks 
        from cuentaclicks
        where TO_DAYS(NOW())-TO_DAYS(7)"
;
        
$result_sietedias=mysql_query($sql_sietedias,$link)or die(mysql_error());
        
$row_sietedias=mysql_fetch_array($result_sietedias);
        
$numero=$row_sietedias[clicks]; 
  #3 (permalink)  
Antiguo 05/09/2006, 12:18
Avatar de the_scorpion  
Fecha de Ingreso: mayo-2006
Ubicación: Cuba
Mensajes: 696
Antigüedad: 17 años, 11 meses
Puntos: 3
Hola

Digo:
- Mira esta función para calcular días
Código PHP:
function fun_date($days)
{  return 
date("m-d-Y"mktime (0,0,0,date("m"),date("d")-$days,date("Y")));
}
echo 
fun_date(7);//Días 
__________________
Que hablen mal de uno es espantoso. Pero hay algo peor: que no hablen.
Quien hace, puede equivocarse. Quien nada hace, ya está equivocado".
  #4 (permalink)  
Antiguo 06/09/2006, 05:21
Avatar de susaninhax  
Fecha de Ingreso: noviembre-2004
Mensajes: 358
Antigüedad: 19 años, 5 meses
Puntos: 3
Pregunta

no comprendo mucho la función, es para calcular días. Necesito calcular a partir del día actual, pues contar siete dias atras y contar todos los clics que haya entre dichas fechas. Con esa función no sé exactamente que estoy calculando...

alguien me puede hechar una mano, me podrías explicar como puedo obtener mi objetivo con esa función, porfis?????

gracias de antemano.
  #5 (permalink)  
Antiguo 06/09/2006, 09:22
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 5 meses
Puntos: 4
Pues sólo utiliza la función que te mandaron. Ahorita se me ocurre que lo hagas de la sig. manera:

$hoy = date("Y-m-d"); // variable que nos servira para mostrar la fecha actual
/* $resta nos servirá para hacer la operación de 7 días atras, esta misma
función te puede servir para calcular un mes, un año, etc. anterior o
posterior, solo cambia el signo o el número de días según lo necesites
en lo que te marco en rojo */
$resta = date("Y-m-d", mktime (0,0,0,date("m"),date("d")-7,date("Y")));

Y en tu consulta para sumar el número de click pondría algo similar a esto:

$sql_sietedias="SELECT Sum(clicks) from cuentaclicks WHERE fecha_actual BETWEEN $resta AND $hoy;

En donde:
Sum(clicks): Devuelve la suma del conjunto de valores contenido en el campo clicks.
BETWEEN: Indica que deseamos recuperar los registros según el intervalo de valores que especificamos en el campo fecha_actual.

PD. Como no probe el código, si BETWEEN no te sirve podrías poner lo siguiente:

$sql_sietedias="SELECT Sum(clicks) from cuentaclicks WHERE fecha_actual >= $resta AND fecha_actual <= $hoy;

Espero haberme dado a entender. Suerte
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:07.