Comunidad de diseño web y desarrollo en internet online

Ayuda! API Efemerides+ Respuesta en formato serialize de PHP

Citar            
MensajeEscrito el 14 Feb 2009 04:29 am
Hola Comunidad! :D
Estoy intendo poner efemerides en mi sitio web, a partir de la API www.efemerides20.com.

El formato de la petición a la API es este: :shock:
http://efemerides.berriart.com/api?key=XXXXXX&day=4&month=12&limit=5&output=php

Y el formato de respuesta es este: :?
a:5:{i:0;a:3:{s:7:"content";s:44:"Fray Domingo de Salazar, religioso español.";s:4:"date";s:10:"1594-12-04";s:4:"type";s:5:"death";}i:1;a:3:{s:7:"content";s:33:"Deanna Durbin, actriz canadiense.";s:4:"date";s:10:"1921-12-04";s:4:"type";s:5:"birth";}i:2;a:3:{s:7:"content";s:41:"Ivana Kobilca, pintora realista eslovena.";s:4:"date";s:10:"1926-12-04";s:4:"type";s:5:"death";}i:3;a:3:{s:7:"content";s:94:"Un mono regresa a la tierra sano y salvo después de estar a 55 millas en el espacio exterior.";s:4:"date";s:10:"1959-12-04";s:4:"type";s:5:"event";}i:4;a:3:{s:7:"content";s:39:"Julio Ramón Ribeyro, escritor peruano.";s:4:"date";s:10:"1994-12-04";s:4:"type";s:5:"death";}}

Ahora bien, ¿como hago con PHP para que la respuesta de la API quede en un formato similar a este?: :love:
1926 - Nace, Juan Pedro de los palotes.
1956 - Muere, Juancho Pan Perez.

Desde ya muchas gracias por contestarme :oops: , si necesitan más información sobre la API Efemerides ingresen aquí. ^^

Por Mindex404

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Feb 2009 04:22 pm
con unserialize armas el objecto de php que contiene la informacion suministrada.

Código :

$object = unserialize($cadena);

ya solo seria recorrerlo con un for o saber como se llama cada parametro y llamarlo con formato de flechas.
Saludos :cool:

Por DanielJimenez

70 de clabLevel



Genero:Masculino  

Web Developer

mozilla
Citar            
MensajeEscrito el 17 Feb 2009 05:47 am
Gracias Daniel por contestarme. :love:
Se como se llama cada parametro "type","date" y "content" puedes explicarme como se hace con formato de flechas, para mostrar todos los registros que tenga la cadena de esta manera:

date - type - content
1926 - Nace - Juan Pe.

Muchas Gracias! ^^

Por Mindex404

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Feb 2009 02:59 pm
$object = unserialize($data);

echo("date:".$object->date);
echo("Type:".$object->type);
echo("Content:".$object->content);
Saludos :cool:

Por DanielJimenez

70 de clabLevel



Genero:Masculino  

Web Developer

mozilla
Citar            
MensajeEscrito el 17 Feb 2009 06:16 pm
Gracias Daniel por contestarme. :love:
Este es mi código: :?
<?php
//pido 4 efemerides del día 17, del mes 2
$data=file_get_contents('http://efemerides.berriart.com/api?key=b82fce2fed&day=17&month=2&limit=4&output=php');
//creo un objeto y unserialize a la respuesta
$object = unserialize($data);
//imprimo las 4 efemerides
echo("Date:".$object->date);
echo("Type:".$object->type);
echo("Content:".$object->content);
?>

Todavía no logro hacerlo funcionar, ahora me imprime solo "Date:Type:Content" sin ninguna de las 4 efemerides que le pido a la API :(

Por Mindex404

2 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Feb 2009 07:04 pm
fácil, mira este código funciona perfecto:

Código PHP :

//pido 4 efemerides del día 17, del mes 2
$data=file_get_contents('http://efemerides.berriart.com/api?key=b82fce2fed&day=17&month=02&limit=4&output=php');
//creo un objeto y unserialize a la respuesta
$object = unserialize($data);
//imprimo las 4 efemerides
echo("Date:".$object[0]["date"]."<br />");
echo("Type:".$object[0]["type"]."<br />");
echo("Content:".utf8_decode($object[0]["content"]));


Al mes, tenes que agregarle el cero, 02. Y el API, te regresa un array, no un objeto.

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox
Citar            
MensajeEscrito el 17 Feb 2009 08:34 pm
Muy bien! Gracias Dano! :wink:
Esto va quedando genial!, este es código actual:

<?php
//pido 4 efemerides del día 17, del mes 2
$data=file_get_contents('http://efemerides.berriart.com/api?key=b82fce2fed&day=17&month=02&limit=4&output=php');
//creo un objeto y unserialize a la respuesta
$object = unserialize($data);
//imprimo las 4 efemerides
echo($object[0]["date"].' '.$object[0]["type"].' '.utf8_decode($object[0]["content"])."<br />");
echo($object[1]["date"].' '.$object[1]["type"].' '.utf8_decode($object[1]["content"])."<br />");
echo($object[2]["date"].' '.$object[2]["type"].' '.utf8_decode($object[2]["content"])."<br />");
echo($object[3]["date"].' '.$object[3]["type"].' '.utf8_decode($object[3]["content"]));
?>

Y lo que muestra en pantalla: :o
1580-02-17 event Bernal Díaz del Castillo termina su Historia verdadera de la conquista de la Nueva España.
1926-02-17 birth Manuel Millares, pintor español (m. 1972).
1961-02-17 death Nita Naldi, actriz estadounidense (n. 1897).
1969-02-17 birth David Douillet, judoka francés.

Me faltarian 2 cositas más para dejarlo completito! ^^
1- Mostrar las efemerides, a partir del día y mes actual. Osea 4 efemerides, dependiendo del día que sea.
2- Reemplazar "event", "birth" y "death", por "evento", "nacimiento" y "defunción".
Alguna idea? :oops:

Muchas gracias por responderme y compartir sus conocimientos. :wink:

Por Mindex404

2 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.