Foros del Web » Programando para Internet » PHP »

Consulta sobre mostrar datos de una db

Estas en el tema de Consulta sobre mostrar datos de una db en el foro de PHP en Foros del Web. Saludos comunidad, Les cuenta, resulta que he buscado, y he encontrado algo de información, pero nada me ha resultado. Lo que quiero hacer es cambiar ...
  #1 (permalink)  
Antiguo 13/09/2013, 13:46
 
Fecha de Ingreso: junio-2013
Mensajes: 19
Antigüedad: 10 años, 10 meses
Puntos: 0
Pregunta Consulta sobre mostrar datos de una db

Saludos comunidad,

Les cuenta, resulta que he buscado, y he encontrado algo de información, pero nada me ha resultado. Lo que quiero hacer es cambiar filas por columnas (técnica no se como se llama, ¿pivot?

Por ejemplo:

Select * from tabla


mes | producto | ingreso | gastos
1 | auto |1000 | 500
1 | mascota | 500 | 300
2 | ropa | 300 | 50

Pero realmente lo que quiero es que sea de la siguiente forma:

Cita:
_______________enero________febrero_____
producto | ingreso | gasto | ingreso | gasto |
auto____| 1000__| 500__| 300___| 150
mascota_| 500___| 300__| 0_____| 200
ropa____| 0_____| 50___| 700___| 100

Si me pudieran orientar, se los agradecería un montón.



Saludos
  #2 (permalink)  
Antiguo 13/09/2013, 14:40
 
Fecha de Ingreso: julio-2013
Ubicación: México
Mensajes: 361
Antigüedad: 10 años, 8 meses
Puntos: 55
Respuesta: Consulta sobre mostrar datos de una db

Hola
Si es pivot.
No soy bueno en eso, sino te ayudaba.
Ponla en el foro de sql.
Saludos
  #3 (permalink)  
Antiguo 14/09/2013, 06:48
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Consulta sobre mostrar datos de una db

donde quieres mostrar? usas php? qué quieres lograr? das pocos datos...
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #4 (permalink)  
Antiguo 14/09/2013, 09:29
 
Fecha de Ingreso: junio-2013
Mensajes: 19
Antigüedad: 10 años, 10 meses
Puntos: 0
Respuesta: Consulta sobre mostrar datos de una db

Estimado,

Si, lo quiero mostrar a través de PHP, y si es necesario, acompañado de de javascript.

La idea es crear un interfaz web de los datos, pero poder mostrar ordenados. Actualmente los veo desde un Excel, y la idea es tener la misma visualización que tengo ahí.


Saludos
  #5 (permalink)  
Antiguo 14/09/2013, 10:13
 
Fecha de Ingreso: febrero-2013
Mensajes: 163
Antigüedad: 11 años, 2 meses
Puntos: 1
Respuesta: Consulta sobre mostrar datos de una db

Hola, no soy muy experiente en el tema, pero creo que tienes que trabajar con tablas relacionadas, es un tema de base de datos no de PHP.

Creo que tienes que tener una tabla "MESES" por ejemplo, donde vas guardando los registros de cada mes y relacionandolos a un producto. Para eso debes tener otra tabla "PRODUCTOS". Por ejemplo:

pruducto | mes__| ingreso | gasto
1______| enero_| 1000__| 500
1______| febrero| 800___| 400
2______| enero_| 500___| 200
2______| febrero| 900___| 450

Espero no estar equivocado pero creo que es más o menos así la idea.. o tal vez hay que relacionarla tambien a 2 tablas, los campos PROUCTO y MES tal vez deben relacionarse a 2 tablas.. o tal vez dependa de cada caso, yo creo que así sería.. repito no tengo mucha experiencia

Última edición por mathiasmontiel; 14/09/2013 a las 10:21
  #6 (permalink)  
Antiguo 14/09/2013, 10:23
Avatar de marmol  
Fecha de Ingreso: marzo-2004
Ubicación: en argentina
Mensajes: 197
Antigüedad: 20 años
Puntos: 4
Respuesta: Consulta sobre mostrar datos de una db

para obtener ese resultado en mysql escribe en la ventana de consulta:
CREATE TABLE `testeo` (
`id` INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`producto` TEXT NOT NULL ,
`ingreso` TEXT NOT NULL ,
`gasto` TEXT NOT NULL ,
`fecha` DATETIME NOT NULL
) ENGINE = MYISAM ;

Alli estas teniendo los campos ids. productos, ingresos, gastos y fecha.

Para obtener el resultado mediante php, lo que mencionaste, solo debes realizar una consulta a la base de datos y realizar un array luego lo ordenas por fecha "mes"
y como resultado te da cada mes del año dicha informacion en una fila puede ser una al lade la otra de izquierda a derecha o una abajo de la otra

Desde php quedaria seleccionando todos los productos, gastos, etc solamente por "mes"

Esto es lo mas correcto:

//Creo la tabla

CREATE TABLE `testeo` (
`id` INT( 10 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`producto` TEXT NOT NULL ,
`ingreso` TEXT NOT NULL ,
`gasto` TEXT NOT NULL ,
`mes` TEXT NOT NULL
) ENGINE = MYISAM ;

//Inserto los registros

INSERT INTO `test`.`testeo` (
`id` ,
`producto` ,
`ingreso` ,
`gasto` ,
`mes`
)
VALUES (
'1', 'auto', '1000', '500', 'enero'
), (
'2', 'mascota', '500', '300', 'enero'
), (
'3', 'ropa', '0', '50', 'enero'
), (
'4', 'auto', '300', '150', 'febrero'
), (
'5', 'mascota', '0', '200', 'febrero'
), (
'6', 'ropa', '700', '100', 'febrero'
);




Espero en mi humilde pequeños conocimientos haberte ayudado

Saludos
__________________
Fabricante Maquina industriales
http://www.guidobatanmaquinarias.com

Última edición por marmol; 14/09/2013 a las 10:54

Etiquetas: select, 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 05:38.