Foros del Web » Programando para Internet » PHP »

json con varios arrays

Estas en el tema de json con varios arrays en el foro de PHP en Foros del Web. Hola. Tengo una gran duda.... Como puedo hacer un json con varios arrays, es decir que me agrupe en base a ciertas caracteristicas?? Algo asi: ...
  #1 (permalink)  
Antiguo 25/07/2013, 16:45
 
Fecha de Ingreso: julio-2012
Mensajes: 138
Antigüedad: 12 años, 4 meses
Puntos: 4
Pregunta json con varios arrays

Hola.

Tengo una gran duda....
Como puedo hacer un json con varios arrays, es decir que me agrupe en base a ciertas caracteristicas??
Algo asi:
Código PHP:
Ver original
  1. [
  2.     {
  3.         tipo:"Frutas"
  4.         {
  5.             {
  6.                 id: "1",
  7.                 nombre: "Pera",
  8.             },
  9.  
  10.             {
  11.                 id: "2",
  12.                 name: "Uva",
  13.             }
  14.         },
  15.  
  16.         tipo:"Verduras"
  17.         {
  18.             {
  19.                 id: "3",
  20.                 nombre: "Papa",
  21.             },
  22.  
  23.             {
  24.                 id: "4",
  25.                 name: "Zanahoria",
  26.             }
  27.         },
  28.     }
  29. ]

Pero desde la base de datos; ahorita lo que he podido hacer es un json simple:
Código PHP:
Ver original
  1. [
  2.  
  3.             {
  4.                 id: "1",
  5.                 nombre: "Pera",
  6.             },
  7.  
  8.             {
  9.                 id: "2",
  10.                 name: "Uva",
  11.             }
  12.  
  13.  
  14. ]

Y lo hago asi:
Código PHP:
Ver original
  1. $dato = mysql_query("SELECT * FROM info");
  2. $x =0;
  3. while($d = mysql_fetch_array($dato))
  4. {
  5.            
  6.         $json[$x]['id']=$d["id"];
  7.                 $json[$x]['nombre']=$d["nombre"];
  8. $x++;
  9. }
  10. echo json_encode($json);

En info estan las frutas y verduras mezcladas con un id foraneo del tipo al que pertenecen, ese id tipo esta en un tabla llamada tipo....
pero como agrupo los datos???

Con un foreach??puede pero no se como hacerlo, me gustaria saber por favor!!
Gracias! u.u
__________________
Keep learning, someday the knowledge will be your future...
  #2 (permalink)  
Antiguo 25/07/2013, 17:43
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 7 meses
Puntos: 406
Respuesta: json con varios arrays

En la tabla existe algún campo que diferencie las frutas de las verduras? de otra forma será muy difícil separar...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #3 (permalink)  
Antiguo 25/07/2013, 19:39
 
Fecha de Ingreso: julio-2012
Mensajes: 138
Antigüedad: 12 años, 4 meses
Puntos: 4
Respuesta: json con varios arrays

Cita:
Iniciado por Nemutagk Ver Mensaje
En la tabla existe algún campo que diferencie las frutas de las verduras? de otra forma será muy difícil separar...
Si, por los id, es decir en la tabla el id 1 es para frutas y el id 2 el de frutas.
Lo que quisiera saber es como agrupar los json en base al tipo, forman array de frutas y de verduras... asi como lo presenten en el ejemplo.

Y en la segunda tabla(info) ese id del tipo (que mencione arriba) es una llave foranea, por lo que ahi hago la relacion.

Supongo que tengo que hacer un inner join, pero ahorita solo hago suposiciones....

Gracias por responder.
__________________
Keep learning, someday the knowledge will be your future...
  #4 (permalink)  
Antiguo 25/07/2013, 19:47
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 7 meses
Puntos: 406
Respuesta: json con varios arrays

Entonces si todas las frutas tiene el ID 1 y las verduras es el 2 con un loop puedes separarlos...

Código PHP:
Ver original
  1. $frutas = array();
  2. $verduras = array();
  3. while($d = mysql_fetch_array($dato))
  4. {
  5.      if ($d['tu_campo_id'] == 1) {
  6.           $frutas[] = $d
  7.      }else {
  8.           $verduras[] = $d
  9.      }
  10. }
  11.  
  12. $json = array('frutas'=>$frutas,'verduras'=>$verduras);
  13.  
  14. echo json_encode($json);
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #5 (permalink)  
Antiguo 25/07/2013, 20:02
 
Fecha de Ingreso: julio-2012
Mensajes: 138
Antigüedad: 12 años, 4 meses
Puntos: 4
Respuesta: json con varios arrays

Cita:
Iniciado por Nemutagk Ver Mensaje
Entonces si todas las frutas tiene el ID 1 y las verduras es el 2 con un loop puedes separarlos...

Código PHP:
Ver original
  1. $frutas = array();
  2. $verduras = array();
  3. while($d = mysql_fetch_array($dato))
  4. {
  5.      if ($d['tu_campo_id'] == 1) {
  6.           $frutas[] = $d
  7.      }else {
  8.           $verduras[] = $d
  9.      }
  10. }
  11.  
  12. $json = array('frutas'=>$frutas,'verduras'=>$verduras);
  13.  
  14. echo json_encode($json);
Pero suponiendo que agrego mas tipo de alimento? por ejemplo legumbres o dulces?, o sea como seria dinamico?

Muchisimas gracias por tu respuesta.
__________________
Keep learning, someday the knowledge will be your future...
  #6 (permalink)  
Antiguo 28/07/2013, 10:47
 
Fecha de Ingreso: julio-2012
Mensajes: 138
Antigüedad: 12 años, 4 meses
Puntos: 4
Respuesta: json con varios arrays

No hay alguien que me pueda explicar? Por favor :(
__________________
Keep learning, someday the knowledge will be your future...

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 12:07.