Foros del Web » Programando para Internet » PHP »

Estadisticas de hace una seman atras

Estas en el tema de Estadisticas de hace una seman atras en el foro de PHP en Foros del Web. Bueno lo que pasa es que tengo una web en donde se ingresan datos y quiero obtener las siguientes estadisticas: 1) Total de ingresos hoy ...
  #1 (permalink)  
Antiguo 10/05/2009, 23:13
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 15 años, 11 meses
Puntos: 12
Estadisticas de hace una seman atras

Bueno lo que pasa es que tengo una web en donde se ingresan datos y quiero obtener las siguientes estadisticas:

1) Total de ingresos hoy
2) Total de ingresos semana pasada

1) Solucion caso 1

Código PHP:
//Vemos el total de ingresos de hoy
$hoy date(d-m-Y);
$total mysql_query("select count(*) from mail_masivo where fecha = '$hoy'") or die(mysql_error());
list(
$total) = mysql_fetch_array($total); 
Mi pregunta es ¿como puedo hacer que tome todos los registros ingresados durante la semana pasada?.

puedo determinar la semana pasada de esta forma
Código PHP:
$p_semana date('d-m-Y'strtotime('-1 week')); 
¿pero como puedo hacer que el select del mysql tome desde $p_semana a $hoy ?.

Gracias.
  #2 (permalink)  
Antiguo 10/05/2009, 23:51
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Estadisticas de hace una seman atras

Puedes usar el operador de comparación BETWEEN:
Código MySQL:
Ver original
  1. SELECT * FROM tabla WHERE campo BETWEEN 'fechainicial' AND 'fechafinal';
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 11/05/2009, 00:22
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 15 años, 11 meses
Puntos: 12
Respuesta: Estadisticas de hace una seman atras

Cita:
Iniciado por David el Grande Ver Mensaje
Puedes usar el operador de comparación BETWEEN:
Código MySQL:
Ver original
  1. SELECT * FROM tabla WHERE campo BETWEEN 'fechainicial' AND 'fechafinal';
Funciona bien pero lo raro es que me retorna 0 si tomo del mes a hoy

Código PHP:
        //vemos la fecha hace un mes atras
        
$p_mes date('d-m-Y'strtotime('-1 month'));

        
//Vemos el total de ingresos hace un mes
        
$total_m mysql_query("SELECT count(*) FROM mail_masivo WHERE fecha BETWEEN '$p_mes' AND '$hoy'") or die(mysql_error());
        list(
$total_m) = mysql_fetch_array($total_m); 
me retorna 0 y en la sabe de datos tengo solo tres entradas con fechas:

15-04-2009
10-05-2009
03-05-2009

por lo tanto deberia retornar 3

¿En que estoy mal ?
  #4 (permalink)  
Antiguo 11/05/2009, 07:38
Avatar de By_George  
Fecha de Ingreso: abril-2009
Ubicación: localhost
Mensajes: 629
Antigüedad: 15 años
Puntos: 19
Respuesta: Estadisticas de hace una seman atras

checa esta pagina con ejemplos de manejo de fechas con mysql, recuerda que para que las funciones de fecha funcionen los campos de tu base de datos deben ser tipo date.
  #5 (permalink)  
Antiguo 11/05/2009, 13:07
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 15 años, 11 meses
Puntos: 12
Respuesta: Estadisticas de hace una seman atras

Cita:
Iniciado por By_George Ver Mensaje
checa esta pagina con ejemplos de manejo de fechas con mysql, recuerda que para que las funciones de fecha funcionen los campos de tu base de datos deben ser tipo date.
al tenerlos en date se quedan de manera automatica con este orden

0000-00-00 que seria

Y-m-d

y bueno yo quiero

d-m-Y

no tendria problema?
  #6 (permalink)  
Antiguo 11/05/2009, 19:22
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Estadisticas de hace una seman atras

La forma de mostrar la fecha es fácil cambiarlo directamente al hacer la consulta. Es recomendable que uses un campo DATE en lugar de VARCHAR u otros tipos de texto para manejar campos con fechas.

Saludos.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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 21:50.