Ejemplo PHP: crear y leer JSON de una tabla mySQL

 

PHPjson-logo-390x250

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.

 

 

Descripción del ejemplo

Suponemos que tenemos esta tabla de mySQL:

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.

VER DEMO

 

Descargar ejemplo.

 

 

Valoración General

[Valoraciones:  47    Promedio:  3.8 de 5]