Foros del Web » Programando para Internet » PHP »

Generar estadisticas

Estas en el tema de Generar estadisticas en el foro de PHP en Foros del Web. Como andan?? tengo un problema para la generación de reportes. Hice una BD que posee 10 tablas aproximadamente, y lo que permite es registrar diferentes ...
  #1 (permalink)  
Antiguo 08/07/2013, 08:22
 
Fecha de Ingreso: diciembre-2012
Mensajes: 33
Antigüedad: 11 años, 3 meses
Puntos: 0
Generar estadisticas

Como andan?? tengo un problema para la generación de reportes.
Hice una BD que posee 10 tablas aproximadamente, y lo que permite es registrar diferentes solicitudes.
Lo que quiero hacer es generar un panel de estadísticas donde me diga por tipo de tramite, que cantidad de solicitudes hay, que usuario es el que mas registra pedidos, etc.
Actualmente, solo pude contar cuantos registros hay en cada tabla y mostrarlo, pero no puedo lograr hacer funcionar el Count para determinar el resto de los datos que necesito.
Me podrían dar alguna ayuda?
Muchas gracias!
  #2 (permalink)  
Antiguo 08/07/2013, 08:29
 
Fecha de Ingreso: septiembre-2009
Mensajes: 210
Antigüedad: 14 años, 7 meses
Puntos: 19
Respuesta: Generar estadisticas

No puedo ayudarte más específicamente porque no dispongo de los datos, de todas formas, lo que debes hacer es ir jugando con el where e incluso el group by para poder sacar todo tipo de estadísticas. Todo esto hablando de SQL.
  #3 (permalink)  
Antiguo 08/07/2013, 10:01
 
Fecha de Ingreso: julio-2010
Mensajes: 275
Antigüedad: 13 años, 9 meses
Puntos: 21
Respuesta: Generar estadisticas

¿Cómo deseas hacer las estadísticas? ¿Cómo vas a controlar los valores con PHP o SQL?

Si es conSQL, supongo que éste no es el subforo indicado sino el SQL...

Si quieres hacer gráficos con PHP después de obtener los valores de la base de datos, yo usé pChart y no me fué nada mal...
  #4 (permalink)  
Antiguo 08/07/2013, 10:02
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: Generar estadisticas

Cita:
Iniciado por cleguisamon Ver Mensaje
Como andan?? tengo un problema para la generación de reportes.
Hice una BD que posee 10 tablas aproximadamente, y lo que permite es registrar diferentes solicitudes.
Lo que quiero hacer es generar un panel de estadísticas donde me diga por tipo de tramite, que cantidad de solicitudes hay, que usuario es el que mas registra pedidos, etc.
Actualmente, solo pude contar cuantos registros hay en cada tabla y mostrarlo, pero no puedo lograr hacer funcionar el Count para determinar el resto de los datos que necesito.
Me podrían dar alguna ayuda?
Muchas gracias!
Eso es propio de tu base de datos, puedes utilizar triggers o disparadores para que cuando en la base de datos ocurra algo pues se cree un nuevo registro de ese evento.
  #5 (permalink)  
Antiguo 08/07/2013, 11:18
 
Fecha de Ingreso: diciembre-2012
Mensajes: 33
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Generar estadisticas

Disculpen, por ahi me exprese mal. Lo que quiero saber es como, desde PHP, conocer cuales son los usuarios que realizan la mayor cantidad de registraciones. Algo asi como un ranking de los 5 usuarios con mas registros en la BD.
Son solamente contadores, respecto de los graficos y demas, una vez que resuelva el problema que tengo ahora voy a implementarlo. Pero la estadistica que necesito solamente se centra en contar los usuarios mas frecuentes que registran, o por ejemplo, saber cual es el tipo de tramite mas solicitado.
Uno de los tramites, por ejemplo, es la solicitud de licencias. Me gustaria saber cuales son los tipos de licencias mas frecuentes (por examen?, por razones medicas?, etc.) y una vez conocido ese dato, ponerlo en la pantalla como un tablero de comando.
Son todas cuestiones que con un contador las puedo resolver, pero todavia no pude hacerlo funcionar.
  #6 (permalink)  
Antiguo 08/07/2013, 11:32
 
Fecha de Ingreso: septiembre-2009
Mensajes: 210
Antigüedad: 14 años, 7 meses
Puntos: 19
Respuesta: Generar estadisticas

Como te decía antes, es todo pasar condiciones por el where. Si buscas los 5 tipos de licencias más solicitados, tendrás que hacer una consulta SQL que te devuelva eso. Sin datos no puedo darte más detalles sobre como sería esa consulta, pero de entrada imagino que será un poco compleja, más que un simple count.
  #7 (permalink)  
Antiguo 08/07/2013, 16:36
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: Generar estadisticas

Cita:
Iniciado por cleguisamon Ver Mensaje
Disculpen, por ahi me exprese mal. Lo que quiero saber es como, desde PHP, conocer cuales son los usuarios que realizan la mayor cantidad de registraciones. Algo asi como un ranking de los 5 usuarios con mas registros en la BD.
Son solamente contadores, respecto de los graficos y demas, una vez que resuelva el problema que tengo ahora voy a implementarlo. Pero la estadistica que necesito solamente se centra en contar los usuarios mas frecuentes que registran, o por ejemplo, saber cual es el tipo de tramite mas solicitado.
Uno de los tramites, por ejemplo, es la solicitud de licencias. Me gustaria saber cuales son los tipos de licencias mas frecuentes (por examen?, por razones medicas?, etc.) y una vez conocido ese dato, ponerlo en la pantalla como un tablero de comando.
Son todas cuestiones que con un contador las puedo resolver, pero todavia no pude hacerlo funcionar.
respecto a lo que he resaltado en negrita, si la tabla sobre la que vas a consultar los trámites tienes una clave foránea que enlaza con otra tabla donde estén los usuarios solamente tienes que escoger los campos que quieras de la tabla de los trámites pero también esa clave foránea, entonces cuentas las veces que una clave foránea se repite en esa tabla y luego escoges solamente los 5 usuarios que más consultas han realizado.

el problema es que tengas en la tabla de trámites miles y miles y miles de trámites y en la tabla de usuarios lo mismo. en ese caso ya no sería factible en recursos computacionales procesar una y otra vez por cada visita todas las tablas, extraer las veces que se repite la clave foránea y escoger los 5 usuarios, sería terriblemente lento, ahí es cuando entran en juego los triggers/disparadores de la base de datos.

podrías configurar un trigger relacionado con la tabla trámites para que cuando un usuario realice un nuevo trámite el trigger en otra tabla sume un punto a ese usuario, y así con todos, entonces solo tendrías que escoger a los 5 usuarios con más puntos. podrías con un trigger sumar un punto a un trámite de una tabla cada vez que se produce un evento en dicha tabla, y luego escoger directamente las 5 tablas con más puntos.

por eso lo que planteas se tiene que hacer a nivel de base de datos no de php, a nivel de php tendrías que hacerel proceso en cada vista de las estadísticas pero a nivel de base de datos ya tendrías los datos preparados.

Etiquetas: estadisticas, registro, tabla
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 11:07.