Foros del Web » Programando para Internet » PHP »

numero de usuarios registrado en x tiempo

Estas en el tema de numero de usuarios registrado en x tiempo en el foro de PHP en Foros del Web. Buenas estoy intentando poner en un panel de administrador un pequeño resumen de estadisticas de registro de usuarios. tengo el siguiente codigo: Código PHP: $result  ...
  #1 (permalink)  
Antiguo 30/05/2011, 14:40
 
Fecha de Ingreso: julio-2009
Mensajes: 100
Antigüedad: 14 años, 9 meses
Puntos: 4
numero de usuarios registrado en x tiempo

Buenas estoy intentando poner en un panel de administrador un pequeño resumen de estadisticas de registro de usuarios.

tengo el siguiente codigo:
Código PHP:
$result mysql_query("SELECT * FROM usuarios");
$num_total_usuarios mysql_num_rows($result);
$fecha_actualdate("Y-m-d");
$result mysql_query("SELECT fecha FROM usuarios WHERE fecha='$fecha_actual'");
$num_total_usuarios_hoy mysql_num_rows($result); 
este codigo es
para saber el numero total de usuarios en la base de datos y el numero de registrado en el "dia de hoy"...mi pregunta es la siguiente....

que orden pongo para tener por ejemplo el numero total de usuarios en un mes o 3 meses o incluso en el año.
y si es posible algo asi como ...10 usuarios menos que el mes pasado o 20 usuarios mas que el mes pasado....l

Un saludo y Gracias.
  #2 (permalink)  
Antiguo 30/05/2011, 15:08
Avatar de scorpion3d  
Fecha de Ingreso: mayo-2011
Mensajes: 92
Antigüedad: 13 años
Puntos: 19
Respuesta: numero de usuarios registrado en x tiempo

Pues mira lo primero sería crear una pagina donde podamos especificar el rango de fecha que deseamos para el reporte, es decir un formulario que capture:

fecha_desde
fecha_hasta

Luego ejecutamos la consulta a la base de datos buscando valores en el campo fecha mayores que fecha_desde y menores que fecha_hasta

Así mira:

Código PHP:
Ver original
  1. <?php
  2. $query_reporte = mysql_query "SELECT fecha FROM usuarios WHERE fecha>='".$_POST['Fecha_desde']."' and fecha<='".$_POST['Fecha_hasta']."'";
  3. $total_usuarios = mysql_num_rows($query_reporte);
  4. ?>
__________________
www.elias.com.sv
  #3 (permalink)  
Antiguo 30/05/2011, 17:28
 
Fecha de Ingreso: julio-2009
Mensajes: 100
Antigüedad: 14 años, 9 meses
Puntos: 4
Respuesta: numero de usuarios registrado en x tiempo

gracias scorpion3d ! ese codigo esta bien para que el usuario ponga el mes mediante un formulario.

En verdad me gustaria calcular directamente el mes ....es decir quiero poner una tabla que salga el numero de usuarios registrado en el mes actual..y el anterior mes ,,

es lo principal que deseo saber hacer.

gracias y un saludo.
  #4 (permalink)  
Antiguo 31/05/2011, 04:05
 
Fecha de Ingreso: julio-2009
Mensajes: 100
Antigüedad: 14 años, 9 meses
Puntos: 4
Respuesta: numero de usuarios registrado en x tiempo

nadie sabe la respuesta ?¿?¿?

tengo entendido que tiene que ser algo asi:
Código PHP:
$fecha_actualdate("Y-m-d");
$mes_anteriordate("Y-m-d");?¿?¿?¿?¿?¿?¿?<----- aqui es donde no se como ponerlo
$query_reporte 
mysql_query ("SELECT fecha FROM usuarios WHERE fecha>='".$fecha_actual."' and fecha<='".$mes_anterior."'");
$total_usuarios mysql_num_rows($query_reporte); 
$mes_anterior= date("Y-m-d") como lo pongo para que solo se tenga en cuenta el mes y sea el anterior al actual

Un saludo y gracias.
  #5 (permalink)  
Antiguo 31/05/2011, 05:48
 
Fecha de Ingreso: marzo-2011
Mensajes: 107
Antigüedad: 13 años, 1 mes
Puntos: 22
Respuesta: numero de usuarios registrado en x tiempo

Poner date("Y-m-d") te va a dar la fecha actual. Para poner tu fecha no te compliques

Código PHP:
$hasta date('Y-m-d');
$desde '2011-05-01'
Puedes buscar info sobre la función date
http://php.net/manual/es/function.date.php
  #6 (permalink)  
Antiguo 31/05/2011, 05:54
 
Fecha de Ingreso: julio-2009
Mensajes: 100
Antigüedad: 14 años, 9 meses
Puntos: 4
Respuesta: numero de usuarios registrado en x tiempo

creo que no es complicado lo que digo...tu estas poniendo la fecha manualmente....

quiero que me lo calcule automaticamente..o tengo que ir mes por mes escribiendo
"$desde = '2011-05-01';"

quiero que me lo calcule a partir de la fecha actual al mes anterior....

Se entiendo lo que digo?¿?¿
lo siento si no me explico bien
  #7 (permalink)  
Antiguo 31/05/2011, 06:22
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: numero de usuarios registrado en x tiempo

puedes usar now para la fecha actual y datediff para restar un mes

http://dev.mysql.com/doc/refman/5.5/...functions.html

mysql> SELECT DATEDIFF('2007-12-31 23:59:59','2007-12-30');
-> 1
mysql> SELECT DATEDIFF('2010-11-30 23:59:59','2010-12-31');
-> -31
  #8 (permalink)  
Antiguo 31/05/2011, 07:50
 
Fecha de Ingreso: julio-2009
Mensajes: 100
Antigüedad: 14 años, 9 meses
Puntos: 4
Respuesta: numero de usuarios registrado en x tiempo

losiento he probando varias cosas...pero sigo sin entenderlo...
  #9 (permalink)  
Antiguo 31/05/2011, 08:47
 
Fecha de Ingreso: marzo-2011
Mensajes: 107
Antigüedad: 13 años, 1 mes
Puntos: 22
Respuesta: numero de usuarios registrado en x tiempo

Solo son 12 meses, en total 4 posibilidades de días (28, 29, 30 y 31) y 2 dependen del año. Vas a tener que buscar un algoritmo que te cubra todas las posibilidades (bucles, condicionales, variables, etc)
  #10 (permalink)  
Antiguo 31/05/2011, 09:22
 
Fecha de Ingreso: julio-2009
Mensajes: 100
Antigüedad: 14 años, 9 meses
Puntos: 4
Respuesta: numero de usuarios registrado en x tiempo

ha tanto hay que llegar...no hay una forma de restar un mes....al actual?
  #11 (permalink)  
Antiguo 31/05/2011, 09:31
 
Fecha de Ingreso: marzo-2011
Mensajes: 107
Antigüedad: 13 años, 1 mes
Puntos: 22
Respuesta: numero de usuarios registrado en x tiempo

A ver, está la función time() que te da los segundos en el momento actual desde el 1 de enero de 1970 (bla bla bla). Al número que te dé time() le restas 30 o 31 o los días del mes correspondiente y lo pasas a tipo fecha. Toma leete esto a ver si te aclara mejor que yo.

http://www.php.net/manual/es/function.time.php

Igual también te hace falta ésta

http://php.net/manual/es/function.date.php
  #12 (permalink)  
Antiguo 31/05/2011, 11:48
 
Fecha de Ingreso: julio-2009
Mensajes: 100
Antigüedad: 14 años, 9 meses
Puntos: 4
Respuesta: numero de usuarios registrado en x tiempo

buenas de nuevo.. he intentado dos cosas pero ninguna me lleva a buen puerto..

una de ella es esta, que no funciona muy bien porque si el mes tiene 31 como es el caso del mes que estamos ahora no funciona, porque me lo cuenta por 30 dias... y a parte luego nose como hacer el query a la base de datos para que me muestre los usuarios de ese mes.
Código PHP:
$fecha_actualdate("Y-m-d");
$fecha_actual explode('-',$fecha_actual); 
$anyo $fecha_actual[0];
$mes $fecha_actual[1];
$dia $fecha_actual[2];



function 
contador_fecha($accion$anyo$mes$dia )
{   
return 
date("Y-m-d"strtotime($accionmktime(000$mes$dia,$anyo)));
}

$fecha_final contador_fecha("-1 mes"$anyo$mes$dia );
echo 
$fecha_final


otra opcion mas sencilla hacer una simple resta a la variable del mes...pero el fallo por ejemplo es que si resto : "05 - 1= 4" y me tendria que salir asi: "05 - 1 = 04" y no se como se hace.
Código PHP:
$fecha_actualdate("Y-m-d");
$fecha_actual explode('-',$fecha_actual); 
$anyo $fecha_actual[0];
$mes $fecha_actual[1];
$dia $fecha_actual[2];


$resultado_final =  $fecha_actual[1] - 1
  #13 (permalink)  
Antiguo 31/05/2011, 12:09
 
Fecha de Ingreso: julio-2009
Mensajes: 100
Antigüedad: 14 años, 9 meses
Puntos: 4
Respuesta: numero de usuarios registrado en x tiempo

creo que lo he conseguido.

a ver que os parece .....

Código PHP:
$fecha_actualdate("Y-m-d");
$fecha_actual explode('-',$fecha_actual); 
$anyo $fecha_actual[0];
$mes $fecha_actual[1];
$dia $fecha_actual[2];
$resultado_final =  $fecha_actual[1] - 1;


$result mysql_query("Select fecha from usuarios where MONTH(Fecha)=$resultado_final and YEAR(Fecha)=$anyo");
$total_usuarios_mes_anterior mysql_num_rows($result); 
  #14 (permalink)  
Antiguo 31/05/2011, 12:15
 
Fecha de Ingreso: julio-2009
Mensajes: 100
Antigüedad: 14 años, 9 meses
Puntos: 4
Respuesta: numero de usuarios registrado en x tiempo

pongo el codigo completo, como podreis ver todo es un poco basto....
si alquien puede optimizarlo se lo agradeceria...es como me ha salido y llevo poco tiempo.

Código PHP:

$result 
mysql_query("SELECT * FROM usuarios");
$num_total_usuarios mysql_num_rows($result);

$fecha_actualdate("Y-m-d");
$result mysql_query("SELECT fecha FROM usuarios WHERE fecha='$fecha_actual'");

$num_total_usuarios_hoy mysql_num_rows($result);
$fecha_actual explode('-',$fecha_actual); 
$anyo $fecha_actual[0];
$mes $fecha_actual[1];
$dia $fecha_actual[2];

$resultado_final =  $fecha_actual[1] - 1;

$result mysql_query("Select fecha from usuarios where MONTH(Fecha)=$resultado_final and YEAR(Fecha)=$anyo");
$total_usuarios_mes_anterior mysql_num_rows($result);


echo 
'
  <tr>
    <td width="50%">Total Usuarios: '
.$num_total_usuarios.'</td>
    <td>Registrado Hoy: '
.$num_total_usuarios_hoy.'</td>
    <td>Mes anterior: '
.$total_usuarios_mes_anterior.'</td>
    
  </tr>
  '


gracias a todos y un saludo.

Etiquetas: numero, usuarios
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 20:10.