Actualizado basado en respuestas a continuación:manera adecuada para crear datos JSON con PHP/MySQL
Sobre la base de las respuestas a continuación, ahora tengo el siguiente script PHP:
header('Content-type:application/json');
function getdata($the_query)
{
$connection = mysql_connect('server', 'user', 'pass') or die (mysql_error());
$db = mysql_select_db('db_name', $connection) or die (mysql_error());
$results = mysql_query($the_query) or die(mysql_error());
header('Content-type:application/json');
$the_data['rss']['channels']['title'] = $title;
$the_data['rss']['channels']['link'] = $link;
$the_data['rss']['channels']['description'] = $description;
while($row = mysql_fetch_array($result))
{
extract($row);
$the_data['rss']['channels']['items']['title'] = $item_title;
$the_data['rss']['channels']['items']['link'] = "$item_link;
$the_data['rss']['channels']['items']['date'] = $item_date;
$the_data['rss']['channels']['items']['description'] = $item_description;
}
mysql_close($connection);
return json_encode($the_data);
}
que devuelve la siguiente :
{
"rss":
{
"channels":
{
"title":"title goes here",
"link":"link goes here",
"description":"description goes here",
"items":
{
"title":"'title goes here",
"link":"link goes here",
"date":"date goes here",
"description":"description goes here"
}
}
}
}
se debe devolver muchos artículos basados en el número de filas devueltas desde la base de datos, ¿por qué sólo estoy artículos 1?
Busca los datos de MySQL en una matriz y luego ejecuta 'json_encode ($ your_array)' y listo. –
Su salida no funcionará por cierto. Tienes varios elementos 'items'. Supongo que cuando se analiza este JSON, solo el último "sobrevivirá". No puede tener múltiples entradas con la misma clave. Parece que quería crear una entrada de 'elementos' con cada uno de ellos como un elemento de la matriz ... –
Consulte la pregunta actualizada basada en las respuestas. – oshirowanen