Ejemplo de código fuente en php, para crear un JSON de los datos que recogemos de una tabla de una base de datos mySQL y después leer el JSON con jQuery en otra página.
ÍNDICE
Descripción del ejemplo
Suponemos que tenemos esta tabla de mySQL:
Pues con el código php expuesto más abajo aquí, lo que haremos es recoger esos datos y generar un JSON que lo que mostraría es esto:
[{"id":"1","nombre":"Jose","edad":"25","genero":"masculino","email":"josegonzales9871@gmail.com","localidad":"Madrid","telefono":"912546524"},{"id":"2","nombre":"Juan","edad":"31","genero":"masculino","email":"juanrodriguez65465@gmail.com","localidad":"Barcelona","telefono":"934654654"},{"id":"3","nombre":"Antonio","edad":"43","genero":"masculino","email":"antoni654654@gmail.com","localidad":"Valencia","telefono":"214748366"},{"id":"4","nombre":"Angelina","edad":"35","genero":"femenino","email":"angelina654456@gmail.com","localidad":"New York","telefono":"247483647"}]
Una vez que hemos generado el JSON, lo que haremos es desde otra página html, mediante jQuery parsear ese JSON y mostrar esos datos dentro de una tabla mucho más vistosa y comprensible para todo el mundo.
Código
Código para generar JSON.
<?php
$server = "localhost";
$user = "root";
$pass = "";
$bd = "demo_json";
//Creamos la conexión
$conexion = mysqli_connect($server, $user, $pass,$bd)
or die("Ha sucedido un error inexperado en la conexion de la base de datos");
//generamos la consulta
$sql = "SELECT * FROM clientes";
mysqli_set_charset($conexion, "utf8"); //formato de datos utf8
if(!$result = mysqli_query($conexion, $sql)) die();
$clientes = array(); //creamos un array
while($row = mysqli_fetch_array($result))
{
$id=$row['id'];
$nombre=$row['nombre'];
$edad=$row['edad'];
$genero=$row['genero'];
$email=$row['email'];
$localidad=$row['localidad'];
$telefono=$row['telefono'];
$clientes[] = array('id'=> $id, 'nombre'=> $nombre, 'edad'=> $edad, 'genero'=> $genero,
'email'=> $email, 'localidad'=> $localidad, 'telefono'=> $telefono);
}
//desconectamos la base de datos
$close = mysqli_close($conexion)
or die("Ha sucedido un error inexperado en la desconexion de la base de datos");
//Creamos el JSON
$json_string = json_encode($clientes);
echo $json_string;
//Si queremos crear un archivo json, sería de esta forma:
/*
$file = 'clientes.json';
file_put_contents($file, $json_string);
*/
?>
Código HTML para mostrar el JSON.
<table class="grilla" id="tablajson">
<thead>
<th>Id</th>
<th>Nombre</th>
<th>Edad</th>
<th>Género</th>
<th>Email</th>
<th>Localidad</th>
<th>Teléfono</th>
</thead>
<tbody></tbody>
</table>
Código para parsear JSON con jQuery.
$(document).ready(function(){
var url="generarJSON.php";
$("#tablajson tbody").html("");
$.getJSON(url,function(clientes){
$.each(clientes, function(i,cliente){
var newRow =
"<tr>"
+"<td>"+cliente.id+"</td>"
+"<td>"+cliente.nombre+"</td>"
+"<td>"+cliente.edad+"</td>"
+"<td>"+cliente.genero+"</td>"
+"<td>"+cliente.email+"</td>"
+"<td>"+cliente.localidad+"</td>"
+"<td>"+cliente.telefono+"</td>"
+"</tr>";
$(newRow).appendTo("#tablajson tbody");
});
});
});
Demo del ejemplo.
Descargar ejemplo.
Ejemplo Completo PHP: crear y leer JSON de una tabla mySQL (17265 descargas)