Foros del Web » Programando para Internet » PHP » Zend »

generar un json multilevel

Estas en el tema de generar un json multilevel en el foro de Zend en Foros del Web. hola como estan amigos deseo generar un json multilevel con php que vienen de varias consultas por ejemplo tengo una consulta que me bota todas ...
  #1 (permalink)  
Antiguo 22/12/2010, 10:01
 
Fecha de Ingreso: noviembre-2010
Ubicación: My House
Mensajes: 15
Antigüedad: 14 años
Puntos: 0
generar un json multilevel

hola como estan amigos deseo generar un json multilevel con php
que vienen de varias consultas por ejemplo
tengo una consulta que me bota todas las categorias de una sede:
sede=peru
categoria1=valor1
categoria2=valor2
categoria3=valor3
categoria4=valor4

ahora hay otra consulta que trabaja con los valores de la categoria que seria
sede=peru
categoria=valor1
servicio1=valor1
servicio2=valor2
servicio3=valor3


ahora yo deseo generar un json de acuerdo al resultado de las consultas
que seria:

{"categoria":"infraestructura","Servicios":[{"id":1,"nombre":"valor1"}],"categoria":"software","Servicios":[{"id":2,"nombre":"valor1"}],"categoria":"informacion","Servicios":[{"id":1,"nombre":"valor1"}],"categoria":"tareas","Servicios":[{"id":1,"nombre":"valor1"}],}


todo generado desde una base de datos de mysql con zend_json::encode

muchas gracias
  #2 (permalink)  
Antiguo 22/12/2010, 10:25
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: generar un json multilevel

Donde estas teniendo el problema?, es simplemente armar la estructura.
  #3 (permalink)  
Antiguo 22/12/2010, 10:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Tema movido desde Frameworks y PHP orientado a objetos a PHP
  #4 (permalink)  
Antiguo 22/12/2010, 11:26
 
Fecha de Ingreso: noviembre-2010
Ubicación: My House
Mensajes: 15
Antigüedad: 14 años
Puntos: 0
Respuesta: generar un json multilevel

me podrian decir cual seria la mejor manera de hacerlo muchas gracias
  #5 (permalink)  
Antiguo 23/12/2010, 14:49
 
Fecha de Ingreso: noviembre-2010
Ubicación: My House
Mensajes: 15
Antigüedad: 14 años
Puntos: 0
Respuesta: generar un json multilevel

bueno este es el codigo de la funcion de php que esta dentro de una clase
Código PHP:
 public function showAllJson($zone){
            
/*declaracion de array*/
            
$array_zones_services = array();
            
$array_servicios=array();
            
/**/
               
$objzone = new Model_DbTable_Zones();
               
               
$dtcategories $objzone->showAllCategorieZone($zone);
               
               foreach(
$dtcategories as $row_categories){
                   
                   
//$array_categories[]=array('categorias' => $row_categories->description);
                   
$dt_servicios =$this->showAllServiceZone($zone$row_categories->id_categories);
                   foreach( 
$dt_servicios as $row_servicios  ){

                       
$array_servicios[] = array("services" =>$row_servicios->services,
                                                                        
"service_zone_id" => $row_servicios->service_zone_id
                                                                        
) ;

                   }
                    

                   
$array_zones_services[] = array('categorias' => $row_categories->description,"Servicios" => $array_servicios);
                   
$array_servicios null;
                   
//$array_zones_services[] = array_merge($array_categories, $array_servicios);
               
}

               return 
Zend_Json::encode($array_zones_services);
        } 
ok eso fue para crearlo ahora solo falta leerlo cosa que lo veo mas facil utilizando jquery
  #6 (permalink)  
Antiguo 23/12/2010, 14:56
 
Fecha de Ingreso: noviembre-2010
Ubicación: My House
Mensajes: 15
Antigüedad: 14 años
Puntos: 0
Respuesta: generar un json multilevel

codigo para leer datos de php y mostrar json con ajax
Código PHP:
function(){
                
//    $("#btnCancelar").live("click",function(){
                //                        $("#formulario").html="";
                //                        $("#formulario").hide();
                //                    })

                
$("#datazone").change(function(event){
                                                            
event.preventDefault();
                                                      
this.datazone1 = $("#datazone").attr("value");
                                                      $.
post("servicezone/listado", { datazonethis.datazone1 },
                                                        function(
data){createTable(data); }, "json");
                                        });
                } 

funcion para crear tabla y mostrar los valores extraidos :

Código PHP:
function createTable(data){

                           
datos   =   "";
                           
datos   +=   '<form id="detailhistories" >';
                                $.
each(data, function(i,row){
                                    
datos +='<table class="spreadsheet" cellspacing="0">';
                                    
datos  +=  '<tr><th>Categoria:</th><th>' row.categorias  '</th></tr>';
                                        
datos +='<table class="spreadsheet" cellspacing="0">';
                                        
datos  +=  '<tr><th>Servicios</th><th>Status</th><th>comment</th></tr>';
                                        
                                            var 
0;
                                            var 
size row.Servicios.length;
                                            for (
0sizex++){
                                          
                                            
                                            
datos  +=  '<tr>';
                                            
fila '<td><input type="hidden" name="service_zone_id[]" id="service_zone_id[]" value=' row.Servicios[x].service_zone_id '>' row.Servicios[x].services '</td><td> <input type="checkbox" name="status[]"  value="1"/> </td><td><input type="text" name="comment[]" id="comment[]" /></td>';
                                            
datos  += fila;
                                            
datos  +=  "</tr>";

                                            }
                                            
                                            
                                            
                                    
                                            
datos += '</table>';
                                         
datos += '</table>';
                                   


                             });
                             
datos +=  "<input id=\"btnregistrar\" type=\"submit\" value=\"registrar\"></form>";
                             $(
"#Grilla").html(datos);
                             } 
  #7 (permalink)  
Antiguo 23/12/2010, 15:21
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: generar un json multilevel

Que tal luismayta, te da algún error? o la pregunta es mas por el lado de ver si se puede hacer mas optimo?.
  #8 (permalink)  
Antiguo 27/12/2010, 09:43
 
Fecha de Ingreso: noviembre-2010
Ubicación: My House
Mensajes: 15
Antigüedad: 14 años
Puntos: 0
De acuerdo Respuesta: generar un json multilevel

bueno para nada corre perfectamente bien y
Feliz Navidad
Muchachos

y por el momento no lo e optimizado pero el codigo funciona bien

Etiquetas: json, php
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 04:15.