AJAX - Tratamiento de un array

   
Vista:

Tratamiento de un array

Publicado por Javier (16 intervenciones) el 08/12/2012 20:18:25
Buenas noches.
Estoy practicando con ajax y me he quedado parado en el siguiente punto.

Llamo a una funcion php que carga los datos de una tabla en un array para luego procesarla con javscript.

Mi llamada a la funcion php lo hago asi:

1
2
3
4
5
6
7
8
9
function cargadatos(){
    var jsondata;
    var strUrl = "leergpx.php";
    jQuery.ajax({
       url:strUrl,
       success:cargabalizas(json),
       dataType: "json"
    });
};


el fichero php es:

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
		$Array = array();
		include('abre.php');
    		$query = "select * from $tabla_db4";     // Esta linea hace la consulta		
		$result = mysql_query($query) or die(mysql_error());
    		$i = 0;
    		while ($registro = mysql_fetch_array($result)){
			 $Array[$i] = $registro['campo1'] .";".$registro['campo2'].";".$registro['campo3'];
		    $i=$i + 1;
		};
		include('cierra.php');
		echo json_encode($Array);
?>


Aparentemente se ejecuta y uan vez recibido el array , ¿como puedo ver su contenido?.

En esta funcion es donde pretendo tratar los datos recibidos:

1
2
3
4
5
6
7
function cargabalizas(json){
       .....
....
 
	alert(json);
.....
};


Veo que ha pasado por el php.

Pero no tengo claro como mostrarlo pues el alert me devuelve indefinido.
¿Como podria leer el contenido del array devuelto?.
Si veis algun error os agradeceria que me lo indicarais.

Gracias.
Javier.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Tratamiento de un array

Publicado por xve (167 intervenciones) el 09/12/2012 18:35:17
Hola Javier, el json, espera un array asociativo, no un array normal... No se que pretendes hacer en cargar balizas, pero prueba esto... así lo veras mas claro:
1
2
3
4
5
6
7
8
9
10
11
12
<?php
    $Array = array();
    include('abre.php');
    $query = "select * from $tabla_db4";     // Esta linea hace la consulta         
    $result = mysql_query($query) or die(mysql_error());
    $return="";
    while ($registro = mysql_fetch_array($result)){
        $return.=$registro['campo1'].";".$registro['campo2'].";".$registro['campo3'];
    };
    include('cierra.php');
    echo json_encode(array("resultado"=>$return);
?>

y en el alert pon:
1
alert(json.resultado);


Espero que te sirva... coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Tratamiento de un array

Publicado por Javier (16 intervenciones) el 09/12/2012 18:59:48
Mil gracias, como siempre.

Me devuelve un error el "alert(json.resultado);" Indicandome:
--
[18:55:29.137] TypeError: json is undefined @ http://localhost/pruebas/menumapastr.html:190

No sé como debo definirla.

Por cierto, disculpa, esta funcion lo que pretende es tener un array de registros que cumplen una condicion de la base de datos y luego tratarlos.


Un saludo,
Javier.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Tratamiento de un array

Publicado por xve (167 intervenciones) el 09/12/2012 19:21:12
el alert lo has puesto dentro de la funcion:
1
2
function cargabalizas(json){
...

Donde lo has puesto?

Ahora que me fijo, el success: prueba a ponerlo así:
1
2
3
4
5
6
7
8
9
10
11
function cargadatos(){
    var jsondata;
    var strUrl = "leergpx.php";
    jQuery.ajax({
       url:strUrl,
       success:function(data){
               cargabalizas(data);
       }, 
       dataType: "json"
    });
};


Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Tratamiento de un array

Publicado por Javier (16 intervenciones) el 09/12/2012 19:41:39
Perfecto, como siempre muy agradecido.

Tu ultimo comentario, con los ejemplos que he visto por ahi no era capaz de aplicarlo. Osea que para poder tratar los datos en cualquier otra funcion una vez recibido debo gestionarlo asi.

Otra era que faltaba un parentesis al final en :

echo json_encode(array("resultado"=>$return) ) ;


Un saludo,
Javier.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar