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:
/* 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.

6
Puntos
4731
Visitas
0
Resp
Por jose hace 10 años
Master
Para comentar Inicia sesión o Regístrate
Phpres 2025@ All rights reserved.
Utilizamos cookies para mejorar la navegación en el sitio. Más información Aceptar