Last Updated: September 09, 2019
·
36.43K
· develop_andrade

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

5 Responses
Add your response

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?

over 1 year ago ·

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

over 1 year ago ·

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.

over 1 year ago ·

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

over 1 year ago ·

develop y luego de recogerlos como se imprimiria?
ayudame por faa

over 1 year ago ·