El trabajo con estructuras JSON para el intercambio de datos entre cliente y servidor es una tarea relativamente sencilla y potente que permite agilizar el desarrollo. En este caso si necesitamos enviar datos desde un servidor que utiliza PHP y recupera datos de una base MySql bastará con tener un archivo .php similar a este:
$sql = "SELECT ID, POBLACION, NUMVISITAS FROM VISITAS_CENTROS"; $resulset = mysql_query($sql, $_SESSION["idBD"]) $arr = array(); while ($obj = mysql_fetch_object($resulset)) { $arr[] = array('ID' => $obj->ID, 'P' => utf8_encode($obj->POBLACION), 'NV' => $obj->NUMVISITAS, ); } echo '' . json_encode($arr) . '';
El tema de la conexión con MySql puede ser consultado acá.
Haciendo uso de la instrucción mysql_fetch_object recorreremos cada unos de los resultados de la consulta y los introduciremos en un Array que será transaformado median la instrucción json_encode.
En nuestro cliente podemos llamar a este archivo mediante JQuery de la siguiente forma:
$.ajax({ type: "POST", url:"getData.php", async: true, success: function(datos){ var dataJson = eval(datos); for(var i in dataJson){ alert(dataJson[i].ID + " _ " + dataJson[i].P + " _ " + dataJson[i].NV); } }, error: function (obj, error, objError){ //avisar que ocurrió un error } });
Donde el mostrar la información será tan fácil como utilizar un for para el objeto Json. Utilizando la sintaxis dataJson[i].PROPIEDAD para acceder a la información.
Sencillo pero muy útil.
Saludos.