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
Written by Jorge Andrade
Related protips
5 Responses
Hola! soy nueva en esto de php y no sabia que existian archivos .json y me acabo de dar cuenta que los necesito para poder ocultar y mostrar marcadores en gmaps ya que como lo tengo ahorita solo con javascript,mysql y php me los pone todos de un jalon... y necesito poner los marcadores con un check box, tienes alguna idea de como hacerlo?

Hola, si tengo una idea, pero mira mejor te dejo un link, en donde te explican bien como funciona,
http://www.funcion13.com/2012/09/08/ocultando-y-mostrando-multiples-marcadores-en-google-maps/
Disculpa la demora, no habia tenido tiempo de entrar a revisar, pero por cualquier cosa que necesites, ahora si aqui estare con un poco mas de tiempo. Saludos

Hola, aún no tengo experiencia en el manejo de formatos json, ¿Cómo le haría para tomar el fichero username.json del lado de cliente? Para mostrarlo en un select de html.

Que onda lo haras con jquery y su fincion ajax ejemplo
$.ajax({
url: "username.json",
type: "json",
success: function(response){
console.log(response)
}
});
Con esto ya estrias recogiendo los datos del username.json.
Saludos
develop y luego de recogerlos como se imprimiria?
ayudame por faa