Inicio » Blog » PHP

19 noviembre, 2018

Generar JSON desde una consulta MYSQL

Json es un formato que nos permite transportar datos de forma rápida y sencilla, generaremos JSON a partir de una consulta a la base de datos de 3 tablas.

Suscríbete a nuestro canal en Youtube

Suscríbirse

Veamos primero que es JSON y sus caracteristicas para entender su importancia en el desarrollo de aplicaciones cliente/servidor en el transporte de datos..

QUÉ ES JSON

JSON (JavaScript Object Notation - Notación de Objetos de JavaScript) es un formato ligero de intercambio de datos. Leerlo y escribirlo es simple para humanos, mientras que para las máquinas es simple interpretarlo y generarlo. Está basado en un subconjunto del Lenguaje de Programación JavaScript, Standard ECMA-262 3rd Edition - Diciembre 1999. JSON es un formato de texto que es completamente independiente del lenguaje pero utiliza convenciones que son ampliamente conocidos por los programadores de la familia de lenguajes C, incluyendo C, C++, C#, Java, JavaScript, Perl, Python, y muchos otros. Estas propiedades hacen que JSON sea un lenguaje ideal para el intercambio de datos.

JSON está constituído por dos estructuras:

  • Una colección de pares de nombre/valor. En varios lenguajes esto es conocido como un objeto, registro, estructura, diccionario, tabla hash, lista de claves o un arreglo asociativo.
  • Una lista ordenada de valores. En la mayoría de los lenguajes, esto se implementa como arreglos, vectores, listas o sequencias.

Estas son estructuras universales; virtualmente todos los lenguajes de programación las soportan de una forma u otra. Es razonable que un formato de intercambio de datos que es independiente del lenguaje de programación se base en estas estructuras.

CREANDO UNA APLICACIÓN BÁSICA

Programaremos solo en PHP con consultas a una Base de datos usando el gestor  MYSQL.

Entonces primeramente necesitamos conectarnos a la base de datos:

  1. Clase de conexión y consultas a la base de datos siga el link Conexión a una BD en PHP
  2. Nuestra base de datos tiene tres tablas: departamentos, provincias y distritos. Siga el link para descargar la BD Base de Datos MySql
  3. Instanciar la clase para realizar la conexion 
    <?php 
    include "conexion.php";
    $user=new ApptivaDB();

     

Ahora, creamos una array vacio llamado response que contendrá todos los array de las tres tablas

$response=array();

LLENANDO EL ARRAY DEPARTAMENTOS

Pues ahora realizamos la consulta a traves del método buscar de nuestra clase a la tabla departamentos, el código se muestra

$u=$user->buscar("departamentos","1");
$response['departamentos']=array();
foreach ($u as $key){
 $datos=array();
 foreach ($key as $k => $v)
       $datos[$k] = $v;
    array_push($response['departamentos'], $datos);
}

Creamos un array llamado departamentos dentro de response, recorremos con un foreach la consulta registro a registros, el segundo foreach almacena los datos clave valor correspondientes a los campos de cada registro de la tabla , en cada vuelta se agrega el array datos al array departamentos.

LLENANDO EL ARRAY PROVINCIAS

De forma similar al llenado del Array Departamentos:

$u=$user->buscar("provincias","1");
$response['provincias']=array();
foreach ($u as $key){
  $datos=array();
 foreach ($key as $k => $v)
       $datos[$k] = $v;
    array_push($response['provincias'], $datos);
}

LLENANDO EL ARRAY DISTRITOS

$u=$user->buscar("distritos","1");
$response['distritos']=array();
foreach ($u as $key){
   $datos=array();
 foreach ($key as $k => $v)
       $datos[$k] = $v;
    array_push($response['distritos'], $datos);
}

GENERANDO EL ARRAY Y JSON EN PANTALLA.

Ahora veamos como los mostramos en pantalla con var_dump para el array y json_encode para generar el  json.

// GENERAMOS EL ARRAY EN PANTALLA
var_dump($response);

//*********************************

// GENERAMOS EL JSON EN PANTALLA
die( json_encode($response) );

Relativamente sencillo y fácil de implementar para nuestros proyectos web.

Y nuestro código completo :

<?php 
include "conexion.php";
$user=new ApptivaDB();
$response=array();

$u=$user->buscar("departamentos","1");
$response['departamentos']=array();
foreach ($u as $key){
  $datos=array();
 foreach ($key as $k => $v)
       $datos[$k] = $v;
    array_push($response['departamentos'], $datos);
}
$u=$user->buscar("provincias","1");
$response['provincias']=array();
foreach ($u as $key){
 $datos=array();
 foreach ($key as $k => $v)
       $datos[$k] = $v;
    array_push($response['provincias'], $datos);
}
$u=$user->buscar("distritos","1");
$response['distritos']=array();
foreach ($u as $key){
  $datos=array();
 foreach ($key as $k => $v)
       $datos[$k] = $v;
    array_push($response['distritos'], $datos);
}
//var_dump($response);
die( json_encode($response) );
 ?>

 


Leido 10626 veces

Compartir link del tutorial con tus amigos


Aprende más sobre PHP

Cursos de programación

Codea Codea App

México, Colombia, España, Venezuela, Argentina, Bolivia, Perú

© Todos los derechos reservados Codea App | ...de frente al código!!! | 2020 - 2023