Generar respuestas de consultas PHP en formato JSON
Hola, te mostraré como generar una respuesta de una consulta php, en formato json. El formato json es similar a un arreglo (array) que contiene información. Suele ser usado en el lenguaje JavaScript, incluso lo hemos usado sin saber, por ejemplo cuando hacemos una petición Ajax, la estructura es formato json.
El formato json también es usado en algunas bases de datos, como mongoDB que crea arreglos en éste formato para guardar información que luego puede ser mostrada. Un ejemplo de formato json sería:
El formato json también es usado en algunas bases de datos, como mongoDB que crea arreglos en éste formato para guardar información que luego puede ser mostrada. Un ejemplo de formato json sería:
/* Ejemplo JSON 1 */ pelota: { tamaño: 'grande', color: 'verde' } /* Ejemplo JSON 2 */ persona: { nombre: 'Mortadelo', apellido: 'García', edad: '36', teléfono: '02410040021', familia: { esposa: 'Mercedes', hija: 'Luciernaga', hijo: 'Rigoberto', mascota: 'Pedro' }, profesion: 'Astronauta' }Bien, más o menos así se muestra una información escrita en formato JSON. Y esto mismo se puede hacer con PHP gracias a una función de PHP llamada json_encode(). Para ello, solo se debe hacer un arreglo (array) y la función se encargará de lo demás.
<?php $arreglo = array(); $arreglo['pelota'] = array( 'tamano'=>'grande', 'color'=>'verde' ); echo json_encode($arreglo); ?>En caso de querer hacerlo dinámico, la forma como conseguí hacerlo es la siguiente.
<?php /* Connection */ $hostname = 'localhost'; $username = 'root'; $password = ''; $database = 'base'; $connection = new mysqli($hostname,$username,$password,$database); $sql = sprintf("SELECT * FROM table"); $query = $connection->query($sql); $arreglo = array(); while($rows = $query->fetch_array()) { $arreglo []= array( 'id' => $rows['id'], 'name' => $rows['name'], 'category' => $rows['category'] ); } echo json_encode($arreglo); ?>Extrayendo de la tabla 'table', los valores de la columna 'id', 'name' y 'category', de cada fila.