Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO como obtener los valores de json

Estas en el tema de como obtener los valores de json en el foro de PHP en Foros del Web. tengo un problema el como poder opbener los contenidos de un json Código PHP: //generador de json php2 <?php         // $IdAseg=$_POST['ID_ASEGURADORA'];        //    $IdCampo=1;            //echo  $IdCampo;          $mysqli  = new  mysqli ( ...
  #1 (permalink)  
Antiguo 26/01/2015, 16:21
Avatar de asassa  
Fecha de Ingreso: julio-2008
Ubicación: En el DF ectuoso
Mensajes: 240
Antigüedad: 15 años, 9 meses
Puntos: 0
Pregunta como obtener los valores de json

tengo un problema el como poder opbener los contenidos de un json
Código PHP:
//generador de json php2
<?php
       
// $IdAseg=$_POST['ID_ASEGURADORA'];
       //    $IdCampo=1;   
        //echo  $IdCampo;
        
$mysqli = new mysqli("localhost""root""""");
        
//ejemplo $mysqli = ConectarBase();
        
$sql="select ID_ASEGURADORA, ID_CAMPO, VAL_CAMPO, DESC_VALOR, SECUENCIA from ING_VALOR_CAMPO
        where ID_ASEGURADORA=1"
;    
        
$result=  mysqli_query($mysqli$sql); //ejecutamos la consulta
         
        
$first 0;//separa los elementos con una coma
//        $json = '{"data":[';
        
$json '[';        
         while (
$row=mysqli_fetch_array ($result)) {
           
            if (
$first++) $json .=',';
            
$json .= '["'.$row['ID_ASEGURADORA'].'",';
            
$json .= '"'.$row['ID_CAMPO'].'",';
            
$json .= '"'.$row['VAL_CAMPO'].'",';
            
$json .= '"'.$row['DESC_VALOR'].'",';
            
$json .= '"'.$row['SECUENCIA'].'"]';
               
        }
        
$json .= ']';
        print 
$json

?>
Con una salida [["1","38","F","DES","2"],["1","38","V","DES","2"],["1","38","G","DES","2"],["1","39","F","DES","2"],["1","39","V","DES","2"],["1","39","G","DES","2"]] .

pero en mi php1 tengo qeu poder separa el contenido de este json pero no he podido hacerlo he intentado
Código PHP:
//php que reibe los datop
$str_datos file_get_contents("php2.php");
$datos json_decode($str_datos,true);
 
echo 
"Aficiones del jefe: ".$datos["ID_ASEGURADORA"]["ID_CAMPO"]["VAL_CAMPO"]["DESC_VALOR"]["SECUENCIA"][0]."n"
ALGUIEN QUE ME PUEDA AYUDAR . GRACIAS
  #2 (permalink)  
Antiguo 26/01/2015, 16:24
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: como obtener los valores de json

Necesitas utilizar json_encode en el archivo que genera el json.
http://php.net/manual/es/function.json-encode.php
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 26/01/2015, 16:29
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: como obtener los valores de json

Cita:
Con una salida [["1","38","F","DES","2"],["1","38","V","DES","2"],["1","38","G","DES","2"],["1","39","F","DES","2"],["1","39","V","DES","2"],["1","39","G","DES","2"]] .
Esa salida jamás va a generar nada como lo siguiente:
Código PHP:
Ver original
  1. $datos["ID_ASEGURADORA"]["ID_CAMPO"]["VAL_CAMPO"]["DESC_VALOR"]["SECUENCIA"][0]

¿Por qué?

Porque estás exportando un array de arrays únicamente, no arrays asociativos, ni tampoco objetos, por lo tanto no puedes usar índices no numéricos.

Debes acceder usando únicamente índices numéricos:
Código PHP:
Ver original
  1. $datos[0][1]; // 28
  2. $datos[0][3]; // DES

¿Se entiende la diferencia?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 26/01/2015, 17:19
Avatar de asassa  
Fecha de Ingreso: julio-2008
Ubicación: En el DF ectuoso
Mensajes: 240
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: como obtener los valores de json

entonces por lo que me doy cuenta la cadena deveriaa de ser unica algo como
Código PHP:
[["4","38","VAL_C","DESC_VALOR","1"]] 
pero despues de eso, es donde tengo mi duda. lo que prentendo hacer es algo como lo gsiguiente, pero no logro capturar nada en $datos. Gracias por la layuda espero pme puedan apoyar.
Código PHP:

$str_datos 
file_get_contents("configi/salida.php");
$datos json_decode($str_datos,true);
   echo  
$datos[0][1]; 
    echo 
$datos[0][3]; 
  #5 (permalink)  
Antiguo 26/01/2015, 17:23
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: como obtener los valores de json

He aquí otro error:
Cita:
$str_datos = file_get_contents("configi/salida.php");
La función file_get_contents() jamás ejecutará código alguno, sólo lee el archivo y devuelve el contenido.

Lo correcto sería así:
Código PHP:
Ver original
  1. $datos = include 'script.php';
  2. echo $datos['foo']; // bar

Y para que funcione el script debe lucir así:
Código PHP:
Ver original
  1. <?php return array('foo' => 'bar');

¿Se entienden las diferencias?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: json, mysql
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 16:52.