Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] json y jquery mostrar datos recibidos con php de arrays dentro de un array

Estas en el tema de json y jquery mostrar datos recibidos con php de arrays dentro de un array en el foro de Jquery en Foros del Web. Hola, Cuento con la siguiente duda, estoy tratando de obtener un resultado con Json y jquery pero con el siguiente código solo puedo mostrar los ...
  #1 (permalink)  
Antiguo 31/07/2014, 20:10
 
Fecha de Ingreso: septiembre-2010
Mensajes: 350
Antigüedad: 14 años, 1 mes
Puntos: 9
Exclamación json y jquery mostrar datos recibidos con php de arrays dentro de un array

Hola,

Cuento con la siguiente duda, estoy tratando de obtener un resultado con Json y jquery pero con el siguiente código solo puedo mostrar los datos con un solo array y uno uno con varios arrays dentro de un array , osea un resultado arrojado desde php de una búsqueda con mysql.

[["35","37"],["Marta","Juan"],["Mexico","Monterrey"]]

Mi código es el siguiente

Código PHP:
<?php
    
// Realizo el query

    
$idUsers= array();
    
$nombres = array();
    
$ciudades= array();

    while(
$getUsuarios=mysql_fetch_array($queryNombres)){
            
$idUsers[] = $getUsuarios['ID'];
            
$nombres [] = $getUsuarios['NOMBRES'];
            
$ciudades[] =  $getUsuarios['CIUDADES'];
    }

        
$setNombres= array($idUsers$nombres ,$ciudades);
        echo 
json_encode($setNombres);

}

?>
Código PHP:

<html>
    <
head>
       <
title>jQuery Test</title>
    <
script type="text/javascript" src="jquery.js"></script>
     <script type="text/javascript">
    
    function getUsers(){
                $.ajax({
                    url: "getUsers.php",
                    type: "POST",
                    data: {
//AQUI NO SE COMO LLAMARA LOS DATOS SI SON ARRAYS
                        ID: $("#ID").val(),
                        NOMBRES: $("#NOMBRES").val(),
                        CIUDADES: $("#CIUDADES").val()
                    },
                    dataType: "JSON",
                    success: function (jsonStr) {
//AQUI NO SE COMO LLAMARLOS, YA QUE EN DATA NO SE COMO LLAMARLOS 
                        alert(jsonStr[0].ID);
                    },
                    error: function() {
                           alert("Error Encontrado");
                    }
                });
            }
    </script>
    </head>
    <body>
    <div id="result"></div>
        <input type="button" value="dias" onClick="getDiasClases()" />
        </form>

    </body>
</html> 
Mis dudas son como traer los datos en data: y en success: :S

En este post puse un codigo hasta el final donde traigo datos pero desde un solo array http://www.forosdelweb.com/f179/json...stran-1105299/

Quice implementar algo parecido pero con arrays dentro de arrays ya que traigo varios datos de la base de datos y ya no solo uno.

Espero me puedan apoyar, muchas gracias!
  #2 (permalink)  
Antiguo 01/08/2014, 01:27
 
Fecha de Ingreso: abril-2008
Ubicación: Santa Fe, Argentina
Mensajes: 41
Antigüedad: 16 años, 7 meses
Puntos: 14
Respuesta: json y jquery mostrar datos recibidos con php de arrays dentro de un array

El ejemplo está incompleto. Por qué iría algo en data si no hay parámetro discriminador?

El success es sencillo:

Código Javascript:
Ver original
  1. alert(jsonStr[0][0]); // 35
  2. alert(jsonStr[0][1]); // 37
  3. alert(jsonStr[1][0]); // Marta
  4. alert(jsonStr[1][1]); // Juan

Y los índices no parecen ser muy semánticos, sería más natural que usases:

[["35","Marta","Mexico"],["37","Juan","Monterrey"]]

Código Javascript:
Ver original
  1. alert(jsonStr[0][0]); // 35
  2. alert(jsonStr[0][1]); // Marta
  3. alert(jsonStr[0][2]); // Mexico
  4. alert(jsonStr[1][1]); // Juan
  #3 (permalink)  
Antiguo 01/08/2014, 08:10
 
Fecha de Ingreso: septiembre-2010
Mensajes: 350
Antigüedad: 14 años, 1 mes
Puntos: 9
Exclamación Respuesta: json y jquery mostrar datos recibidos con php de arrays dentro de un array

Hola Henkka,

Gracias por tu apoyo, mira la duda seria basicamente en esta parte:

Código PHP:
                    data: { 
//AQUI NO SE COMO LLAMARA LOS DATOS SI SON ARRAYS 
                        
ID: $("#ID").val(), 
                        
NOMBRES: $("#NOMBRES").val(), 
                        
CIUDADES: $("#CIUDADES").val() 
                    }, 
En donde dice data: { cpmo mandaria a traer esos datos? ya que lo anterior lo puse solo como ejemplo porque asi no funciona ya que como viste anteriormente son 3 arrays :S
  #4 (permalink)  
Antiguo 01/08/2014, 10:46
 
Fecha de Ingreso: abril-2008
Ubicación: Santa Fe, Argentina
Mensajes: 41
Antigüedad: 16 años, 7 meses
Puntos: 14
Respuesta: json y jquery mostrar datos recibidos con php de arrays dentro de un array

Cómo mandarías a traer cuáles datos? Si getUsers.php devuelve todos los usuarios no lleva ningún parámetro y por lo tanto no hay que mandar data.

Usarías data si tu script filtrase por usuario, en lo cual escribirías algo como data: {campo: valor} .
  #5 (permalink)  
Antiguo 01/08/2014, 17:31
 
Fecha de Ingreso: septiembre-2010
Mensajes: 350
Antigüedad: 14 años, 1 mes
Puntos: 9
Exclamación Respuesta: json y jquery mostrar datos recibidos con php de arrays dentro de un array

Excelente muchas no entendia muy bien eso pero ahora queda mas claro ya funciona gracias!

Entonces lo que hice fue simplemente eliminar el data:
Código PHP:
 <script type="text/javascript">
    
    function 
getUsers(){
                $.
ajax({
                    
url"getUsers.php",
                    
type"POST",
                    
dataType"JSON",
                    
success: function (jsonStr) {
//AQUI Ya depende como manden a traer sus datos es la forma en que lo recorreran
                        
alert(jsonStr[0][0]);
                    },
                    
error: function() {
                           
alert("Error Encontrado");
                    }
                });
            }
    
</script> 
Muchas gracias!

Etiquetas: arrays, json, mysql, 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 12:40.