Foros del Web » Programando para Internet » PHP »

Arreglos JSON PHP

Estas en el tema de Arreglos JSON PHP en el foro de PHP en Foros del Web. Hola colegas foreros, tenia tiempo que no andaba por aqui, hoy vuelvo por que no he podido con un problema que tengo para armar un ...
  #1 (permalink)  
Antiguo 05/11/2015, 10:40
 
Fecha de Ingreso: enero-2011
Ubicación: Maracaibo
Mensajes: 179
Antigüedad: 13 años, 3 meses
Puntos: 2
Arreglos JSON PHP

Hola colegas foreros, tenia tiempo que no andaba por aqui, hoy vuelvo por que no he podido con un problema que tengo para armar un arreglo JSON.

Realmente quisiera armar un JSON dentro de un JSON, no se si esto se pueda, voy a poner un poco de codigo, aqui esta mi metodo:

Código PHP:

  
private function getListadoProductosCateg($idEmpresa='',$idCategoria)
  {
      if (
$this->request_method() != "GET") {  
        
$this->mostrarRespuesta($this->convertirJson($this->devolverError(1)), 405);  
      }
      if (
$idEmpresa !='' && $idCategoria != '') {
             
$query="SELECT PRO_EMPRESA AS empresa, PRO_CODIGO AS codigo, PRO_NOMBRE AS nombre, 
                            PRO_DESCRI AS descripcion, PRO_TIPPREC AS tipo_precio, PRO_CODUND AS unidad_medida, 
                            PRO_TIPIVA AS tipo_iva, PRO_CATEGORIAS AS categorias, PRO_RUTAIMG AS imagen,
                            PRO_ACTIVO AS activo_inactivo FROM dnproducto
                     WHERE PRO_EMPRESA=:empresa AND PRO_CATEGORIAS=:categoria"
;
              
             
$result=$this->_conexion->prepare($query);
             
$result->execute(array(':empresa'=>$idEmpresa,':categoria'=>$idCategoria));
             
$num $this->ContarReg("dnproducto");

             if (
$num 0){
                while (
$filas $result->fetchAll(PDO::FETCH_ASSOC)) {
                    
$respuesta['estado'] = 'correcto';  
                    
$respuesta['code'] = '200';
                    
$respuesta['productos'] = $filas
                    
$this->mostrarRespuesta($this->convertirJson($respuesta), 200);                      
                }

             }
             
$this->mostrarRespuesta($this->convertirJson($this->devolverError(2)), 400);
      }
  } 
aqui obtengo un array json con los datos del producto (nombre, descripcion, tipo de precio, impuesto etc), ahora bien quiero obtener los precios que tiene cada producto, tomando en cuenta que cada producto puede tener precios desde A-Z.

Existe un campo en la tabla producto que puedo asociar a la tabla de precios y ese campo es PRO_TIPPREC, la consulta que da los precios es asi:

Código MySQL:
Ver original
  1. SELECT PRE_CODPRO, PRE_CODLIS, PRE_MONTO FROM dnprecio  WHERE PRE_CODPRO='0000000003'

poniendo un codigo cualquiera, yo quisiera que el JSON actual se le agregara un JSON con los precios asociados a X productos.

el resultado del JSON actual es asi:

Código PHP:
Ver original
  1. {"estado":"correcto","code":"200","productos":[{"empresa":"000001","codigo":"0000000003","nombre":"Papas","descripcion":"Papas","tipo_precio":"A","unidad_medida":"UND","tipo_iva":"GN","categorias":"14","imagen":"potatoes_saco.jpg","activo_inactivo":"1"},{"empresa":"000001","codigo":"0000000004","nombre":"Cebolla Blanca","descripcion":"Cebolla Blanca","tipo_precio":"A","unidad_medida":"UND","tipo_iva":"GN","categorias":"14","imagen":"cebolla_blanca.jpg","activo_inactivo":"1"},{"empresa":"000001","codigo":"0000000005","nombre":"Cebolla Morada","descripcion":"Cebolla Morada","tipo_precio":"A","unidad_medida":"UND","tipo_iva":"GN","categorias":"14","imagen":"cebolla_morada.jpg","activo_inactivo":"1"},{"empresa":"000001","codigo":"0000000006","nombre":"Zanahoria","descripcion":"Zanahoria","tipo_precio":"A","unidad_medida":"UND","tipo_iva":"GN","categorias":"14","imagen":"zanahoria.jpg","activo_inactivo":"1"}]}

y quisiera que quedara asi (este lo hice a mano):

Código PHP:
Ver original
  1. {"estado":"correcto","code":"200","productos":{"":[{"empresa":"000001","codigo":"0000000003","nombre":"Papas","descripcion":"Papas","tipo_precio":"A","unidad_medida":"UND","tipo_iva":"GN","categorias":"14","imagen":"potatoes_saco.jpg","activo_inactivo":"1","precios":[{"PRE_MONTO":"230"}]},{"empresa":"000001","codigo":"0000000004","nombre":"Cebolla Blanca","descripcion":"Cebolla Blanca","tipo_precio":"A","unidad_medida":"UND","tipo_iva":"GN","categorias":"14","imagen":"cebolla_blanca.jpg","activo_inactivo":"1","precios":[{"PRE_MONTO":"230"},{"PRE_MONTO":"120"}]},{"empresa":"000001","codigo":"0000000005","nombre":"Cebolla Morada","descripcion":"Cebolla Morada","tipo_precio":"A","unidad_medida":"UND","tipo_iva":"GN","categorias":"14","imagen":"cebolla_morada.jpg","activo_inactivo":"1"},{"empresa":"000001","codigo":"0000000006","nombre":"Zanahoria","descripcion":"Zanahoria","tipo_precio":"A","unidad_medida":"UND","tipo_iva":"GN","categorias":"14","imagen":"zanahoria.jpg","activo_inactivo":"1"}]}}

Espero puedan ayudarme, se me ha complicado hacer esto y disculpen lo largo del post y espero me haya explicado bien.

Saludos
  #2 (permalink)  
Antiguo 05/11/2015, 12:10
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Arreglos JSON PHP

No puedes meter "un json dentro de un json" pero sí puedes crear un objeto/array complejo en PHP y entonces convertir toda la estructura en un solo JSON.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: arreglos, json, 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 03:40.