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