Foros del Web » Programando para Internet » PHP »

Resumen Base de Datos

Estas en el tema de Resumen Base de Datos en el foro de PHP en Foros del Web. Mi problema es el siguiente: Yo voy almacenando día a día en una base de datos mysql registros que constan de codigo, materiales, cantidades, precios, ...
  #1 (permalink)  
Antiguo 18/04/2011, 08:39
 
Fecha de Ingreso: marzo-2008
Mensajes: 28
Antigüedad: 16 años, 1 mes
Puntos: 0
Resumen Base de Datos

Mi problema es el siguiente:

Yo voy almacenando día a día en una base de datos mysql registros que constan de codigo, materiales, cantidades, precios, y fechas. Y quería tener la opción de sacar un resumen con las cantidades de materiales que llevo metidas en cada codigo. Pongo un ejemplo para que se me entienda mejor:

Tabla:

Codigo Materiales Cantidades Precios Fechas
0001 Martillo 2 10 23-04-2011
0001 Pala 1 15 24-04-2011
0001 Martillo 5 10 25-04-2011
0002 Pala 3 15 26-04-2011

Quisiera poder sacar un resumen que me dijera:

Codigo 0001
Martillo Cantidad Total 7
Pala Cantidad Total 1

¿Como podría hacer esto en php?

Gracias y Saludos
  #2 (permalink)  
Antiguo 18/04/2011, 09:45
 
Fecha de Ingreso: septiembre-2008
Ubicación: Manises,Valencia
Mensajes: 114
Antigüedad: 15 años, 6 meses
Puntos: 13
Respuesta: Resumen Base de Datos

Hola Senit,

supongo que podrías combinar en el select las op¡ciones "distinct" y "count".

Distinct para agrupar los tipos de materiales de cada código
Cout para contar las cantidades de cada uno
  #3 (permalink)  
Antiguo 18/04/2011, 11:03
 
Fecha de Ingreso: marzo-2008
Mensajes: 28
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Resumen Base de Datos

Con distinct conseguiría los materiales distintos, pero ¿como podría hacer para que me sumara las cantidades de cada uno de ellos?. Por lo que he leido con count lo que conseguiría sería contar los registros que cumplen la condición que se da, no se si estoy en lo cierto o me equivoco.

Gracias por tu interes y un saludo
  #4 (permalink)  
Antiguo 18/04/2011, 14:53
 
Fecha de Ingreso: septiembre-2008
Ubicación: Manises,Valencia
Mensajes: 114
Antigüedad: 15 años, 6 meses
Puntos: 13
Respuesta: Resumen Base de Datos

Hola, no he podido dedicarle mucho tiempo al asunto pero podrias:

añades un campo id_clave que sea autonumérico.
Primero haces un select de los diferentes codigos (en el ejemplo serian 2: 001 y 002)
una vez tienes el resultado metes en un array los datos (001,002) y utilizando los id_clave haces busquedas por codigo (una por 001 y una por 002)

Creo que por ahí puedes resolverlo, si no lo ves claro, dimelo e intenatré desarrollarlo más.

un saludo.
  #5 (permalink)  
Antiguo 18/04/2011, 15:10
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Resumen Base de Datos

Que tal senit, en si no necesitas PHP para obtener el resultado de tu consulta como lo necesitas, con las funciones basicas SQL lo puedes lograr, puede hacer algo como esto, asumiendo que tu criterio de busqueda es precisamente tu código.
Código SQL:
Ver original
  1. SELECT materiales,SUM(cantidades) AS totales FROM Tabla WHERE codigo = '0001' GROUP BY materiales


Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
  #6 (permalink)  
Antiguo 18/04/2011, 15:17
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Resumen Base de Datos

efectivamente lo que dice Carlojas es lo mas facil de utilizar para ese tipo de proceso el cual deseas hacer
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #7 (permalink)  
Antiguo 18/04/2011, 15:25
 
Fecha de Ingreso: marzo-2008
Mensajes: 28
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Resumen Base de Datos

Tengo un campo ID autonumérico, pero no veo claro lo que me quieres decir, 001 y 002 son tiendas, y dentro de cada tienda se venden los materiales que indico, materiales de ferreteria, y lo que pretendo es poder hacer un resumen de cuantas unidades de cada material se han vendido en cada tienda. Si yo elijo la tienda 001 que me de un resumen de las unidades de cada material que se han vendido y si elijo la tienda 002 lo mismo, pero no sabría como hacerlo, con el array que me indicas puedo meter los materiales distintos, pero ¿como haría luego para sumar las cantidades de los registros en los que aparecen?

Gracias y un saludo
  #8 (permalink)  
Antiguo 18/04/2011, 15:28
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Respuesta: Resumen Base de Datos

Cita:
Iniciado por Carlojas Ver Mensaje
Que tal senit, en si no necesitas PHP para obtener el resultado de tu consulta como lo necesitas, con las funciones basicas SQL lo puedes lograr, puede hacer algo como esto, asumiendo que tu criterio de busqueda es precisamente tu código.
Código SQL:
Ver original
  1. SELECT materiales,SUM(cantidades) AS totales FROM Tabla WHERE codigo = '0001' GROUP BY materiales


Saludos.
Si utilizas esta consulta te dará los resultados que necesitas, tal como lo estas planteando..


Saludos.
__________________
"SELECT * FROM Mujeres WHERE situacion NOT IN ('CASADAS','CON HIJOS','ATORMENTADAS','CUASI-ENNOVIADAS') AND personalidad <> 'INTENSA'"
  #9 (permalink)  
Antiguo 18/04/2011, 15:35
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Resumen Base de Datos

Cita:
Iniciado por senit Ver Mensaje
¿como haría luego para sumar las cantidades de los registros en los que aparecen?
Mira en la variable SUM(cantidades) AS totales es el total de la suma de las cantidades vendidas en la tienda
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #10 (permalink)  
Antiguo 19/04/2011, 01:45
 
Fecha de Ingreso: septiembre-2008
Ubicación: Manises,Valencia
Mensajes: 114
Antigüedad: 15 años, 6 meses
Puntos: 13
Respuesta: Resumen Base de Datos

Hola de nuevo,

he probado el código que ha puesto Carlojas y aunque está muy bien, no da la respuesta que pide nuestro amigo senit.

Este código da como resultado las cantidades totales de cada material pero lo que nos pide senit es la cantidad de materiales pero en cada codigo (tienda) por lo que no nos vale.

Sigo pensando que es buena idea hacer una primera busqueda con php en la que determinas cuantas tiendas (códigos) hay y una vez tienes las tiendas haces un select con el criterio del código de tienda.

La idea sería algo así:
$argumento_tiendas = "select distinct codigo from tabla"
Una vex tenemos la respuesta hacemos utilizamos un código como el de Carlojas para cada codigo obtenido.
  #11 (permalink)  
Antiguo 19/04/2011, 16:15
 
Fecha de Ingreso: marzo-2008
Mensajes: 28
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Resumen Base de Datos

Ok, problema resuelto.

Muchisimas gracias, no sabeís cuanto me habeís ayudado.

Gracias y saludos.

Etiquetas: Ninguno
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 05:28.