Crear archivos JSON desde PHP y MySQL

Que onda!! En este articulo veremos como escribir un archivo json utilizando php y obteniendo datos de mysql, obtendremos los datos clasicos: {nombre, correo, edad, habilidades}.

comenzaremos con con el archivo para conectar a la base de datos:

<?php
//conectar.php
Class Conectar
{
define
(HOST, 'localhost');
define
(USER, 'root');
define
(PASS, '');
define
(DB, 'prueba');

public static function con(){
$con
= mysql_connect(HOST,USER,PASS);
mysql_query
("SET NAMES: utf-8");
mysql_db
(DB):
return $con;
}
}
?>

Con esto ya tenemos el archivo para la conexion a la base de datos, pasamos al archivo para obtener los datos de la base de datos:

 <?php
require_once
"conectar.php";

$sql
= "select * from";
$res
= mysql_query($sql, Conectar::con());
$row
= mysql_fetch_Assoc($res);
$json
= array(
'Nombre' => $row['nombre'],
'Correo' => $row['correo'],
'Edad' => $row['edad'],
'Habilidades' => array()
);


foreach($row as $val){
$json
['Habilidades'][] = $val;
}
?>

Con esto generamos un array de datos llamado $json, lo unico que quedaria seria hacerle un json_encode seguido de la creacion del archivo

<?php
$jsonencoded
= json_encode($json,JSON_UNESCAPED_UNICODE);

$fh
= fopen($row['username'].".json", 'w');
fwrite
($fh, $jsonencoded);
fclose
($fh);
?>

LE agregue el flag JSONUNESCAPEDUNICODE que asegura que los caracteres acentuados se conviertan a su equivalente en codificación UTF-8.

Con esto tenemos listo el fichero username.json