Foros del Web » Programando para Internet » PHP »

Pasar array php a array javasript - JSON

Estas en el tema de Pasar array php a array javasript - JSON en el foro de PHP en Foros del Web. Buen Dia necesito que alguien me ayude con un problema, es el siguiente: requiero pasar un array de php a un array a javascript por ...
  #1 (permalink)  
Antiguo 05/10/2011, 12:02
 
Fecha de Ingreso: septiembre-2011
Mensajes: 16
Antigüedad: 12 años, 7 meses
Puntos: 1
Pregunta Pasar array php a array javasript - JSON

Buen Dia

necesito que alguien me ayude con un problema, es el siguiente:

requiero pasar un array de php a un array a javascript por medio de json
el paso del array de php a javascript hasta al momento no lo hago del todo bien
ya que en javascript no logro que el array que envio desde php se le recononozcan sus elementos al realizarse un FOR en javascript.

Tiene alguna idea compañeros?

Gracias por su atención
  #2 (permalink)  
Antiguo 05/10/2011, 12:15
Avatar de Artificium  
Fecha de Ingreso: enero-2011
Mensajes: 492
Antigüedad: 13 años, 3 meses
Puntos: 81
Respuesta: Pasar array php a array javasript - JSON

Pon algo de tu código.
  #3 (permalink)  
Antiguo 05/10/2011, 12:24
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Pasar array php a array javasript - JSON

Todo quieres que se procese en la misma página la solución que te puedo dar es usar ajax para ese tipo de operaciones.

Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #4 (permalink)  
Antiguo 05/10/2011, 13:20
 
Fecha de Ingreso: septiembre-2011
Mensajes: 16
Antigüedad: 12 años, 7 meses
Puntos: 1
Mensaje Respuesta: Pasar array php a array javasript - JSON

Ok, compañeros se hace necesario el código en cuestion, hago la descripción, tengo dos archivos uno .php y otro javascript

El código en PHP, recupera una información del Base de datos que la convierto a
un array en PHP en este caso es $cadena , que luego envio al javascript como una respuesta en JSON

Código PHP:
!$result2 // a una variable para coneccion , esto funciona bien.

$cadena= (elemento1elemento2elemento3elemento4); // este es el array que me interesa


if (!$result2) {
    echo 
'{"success": false, "errors":{"reason": "Error al intentar conectarse"}}';
}else{

$row pg_fetch_array($result2);

if (
$row2){ echo '{"success": true, "login":{"web": "hecho"},"array": "mi_array": "'.$cadena.'"}}';

}; 

luego en Javascript, realizo bucle for para recorrer dicho array. el problema es que cuando recorro el array este no me reconoce los elementos del array:

el codigo en javascript es el siguiente:

Código Javascript:
Ver original
  1. success: function(form, action){   
  2.  
  3. var data = Ext.util.JSON.decode(action.response.responseText);
  4.  
  5. var login = data.login.web;
  6. var array = data.array.mi_array;
  7.    
  8.      if (login == 'hecho') {
  9.                            
  10.        var q;
  11.        var mitexto ;
  12.  
  13.        for(q=0; q<4; q++){
  14.  
  15.          var    mitexto_array = 'numero_'+q+'_'+array[q];
  16.  
  17.       }
  18.  
  19.     }
  20.  
  21.  }


Lo que logro imprimir cuando coloco el aplicativo en marcha no es lo deseado:

mitexto_array DEBERIA SER lo siguiente:

numero_0_elemento1
numero_1_elemento2
numero_2_elemento3
numero_3_elemento4

y No es Asi, obtengo lo siguiente:

numero_0_e
numero_1_l
numero_2_e
numero_3_m


Espero haber ilustrado bien el tema.

Estare atento a sus respuestas, Gracias.
  #5 (permalink)  
Antiguo 05/10/2011, 13:26
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Pasar array php a array javasript - JSON

Deberías de usar json_encode para codificar tu variable, ya que la forma correcta de tener un array en JSON es:
Código Javascript:
Ver original
  1. {"miarray":["elem1", "elem2", "elem3"]}

De la forma que lo haces te genera algo así:
Código Javascript:
Ver original
  1. {"miarray": "elem1,elem2,elem3"}
  #6 (permalink)  
Antiguo 05/10/2011, 13:52
 
Fecha de Ingreso: septiembre-2011
Mensajes: 16
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Pasar array php a array javasript - JSON

Cita:
Iniciado por GatorV Ver Mensaje
Deberías de usar json_encode para codificar tu variable, ya que la forma correcta de tener un array en JSON es:
Código Javascript:
Ver original
  1. {"miarray":["elem1", "elem2", "elem3"]}

De la forma que lo haces te genera algo así:
Código Javascript:
Ver original
  1. {"miarray": "elem1,elem2,elem3"}

Hola GatorV, gracias por tu atención, pues mira lo que obtengo es lo siguiente


{"miarray": "(elem1,elem2,elem3)}",

lo he modificado para me lo devuelva sin parentesis() y le he colocado [] como suguieres y he obtenido lo siguiente al correr mi aplicativo:

numero_1_elem1,elem2,elem3
numero_2_undefined
numero_3_undefined


necesito que se asi:

numero_1_elem1
numero_2_elem2
numero_3_elem3



Ya vez, no logro que me cuente los elementos de mi array.
No se que esta pasando?, te agradeciria una orientación
  #7 (permalink)  
Antiguo 05/10/2011, 13:54
Avatar de Artificium  
Fecha de Ingreso: enero-2011
Mensajes: 492
Antigüedad: 13 años, 3 meses
Puntos: 81
Respuesta: Pasar array php a array javasript - JSON

Crea tu objeto con PHP, no lo crees mediante texto, sino que sean objetos y arrays en PHP, luego lo transformas a JSON usando la función json_encode, pruebalo así.
  #8 (permalink)  
Antiguo 05/10/2011, 14:04
 
Fecha de Ingreso: septiembre-2011
Mensajes: 16
Antigüedad: 12 años, 7 meses
Puntos: 1
Mensaje Respuesta: Pasar array php a array javasript - JSON

Cita:
Iniciado por Artificium Ver Mensaje
Crea tu objeto con PHP, no lo crees mediante texto, sino que sean objetos y arrays en PHP, luego lo transformas a JSON usando la función json_encode, pruebalo así.

Ya veo, la verdad mi reciente incursión en la programación, me permite entender a lo que te refieres pero no se como se hace un objeto en PHP, y lo de hacer una función con json encode no lo entiendo. teniendo en cuenta el codigo que coloque, sí puedes ser un poco ilustrativo seria excelente.

Gracias
  #9 (permalink)  
Antiguo 05/10/2011, 14:07
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Pasar array php a array javasript - JSON

Adicional a los parentesis, las comillas van en cada elemento, revisa bien mi mensaje.

Respecto a hacerlo con json_encode es bastante sencillo:
Código PHP:
Ver original
  1. $aResponse = array(
  2.         'success' => true,
  3.         'login' => array( 'web' => 'hecho' ),
  4.         'mi_array' => array( 'elem1', 'elem2', 'elem3' )
  5. );
  6.  
  7. echo json_encode($aResponse);

Saludos.
  #10 (permalink)  
Antiguo 05/10/2011, 19:26
 
Fecha de Ingreso: septiembre-2011
Mensajes: 16
Antigüedad: 12 años, 7 meses
Puntos: 1
De acuerdo Respuesta: Pasar array php a array javasript - JSON

Gracias, a todos los que participaron en el tema, he resuleto el problema con el aporte de GatorV

Sigo aprendiendo!

Etiquetas: json
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 00:51.