
php rss reader do mysql
Ahoj,
v následujícím kódu čtu rss zdroje z tabulky, přes funkci fetch_rss je načtu a v následující smyčce foreach je naházím do druhej tabulky. Problém je v tom, že takhle se mi do tabulky uloží kompletní výpis ze zdrojů, bez ohledu na to, jestli už v tabulce jsou. Potřeboval bych tímhle skriptem rss zdroje projít a do tabulky přidat jen nové zdroje.
Šlo by to nějak? Napadá mě akorát získat posledni timestamp z tabulky a pak přidat jen ty články, co mají timestamp novější. Jako že by se v tej smyčce while zjistilo z tabulky timestamp a pak se v tom INSERT INTO dala podmínka jen pro novější timestamp.Neví někdo jak na to? Za každý nakopnutí děkuji :)
Bublifuk
<?
include("db_connect.php");
require_once('rss_fetch.inc');
$query = Mysql_Query("SELECT id, url_syndicate, language FROM sources ORDER BY id")or Die(MySQL_Error());
While ($data = MySQL_Fetch_Array($query))
{
$rss = fetch_rss( $data["url_syndicate"] );
$language=$data["language"];
$sourceid=$data["id"];
foreach ($rss->items as $item )
{
$language=$data["language"];
$sourceid=$data["id"];
$title=addslashes($item['title']);
$link=$item['link'];
$pubdate=$item['pubdate'];
$author=addslashes($item['author']);
$summary=addslashes($item['summary']);
$timestamp=$item['date_timestamp'];
MySQL_Query("INSERT INTO `syndicate` (`id`, `source_id`, `author`, `header`,`body`, `url`, `date`, `timestamp`, `language`) VALUES ('', '$sourceid', '$author', '$title', '$summary', '$link', '$pubdate', '$timestamp', '$language')")or Die(MySQL_Error());
};
};
?>