2012-03-22 73 views
2

我正在尋找更新MySQL數據庫與來自RSS源的項目。當RSS Feed獲得一個新項目時,它會自動輸入到MySQL數據庫中。從RSS源自動更新數據庫

我有一個連接到數據庫並插入數據的php頁面,我也有一個PHP RSS解析器,但我不確定如何連接它們,以便在RSS中有新項目時Feed,它運行PHP腳本並將該項插入到數據庫中。

回答

3

最好的方法是安排一個運行PHP腳本的cron作業來檢查是否存在新的RSS提要。您可以設置運行此腳本的時間間隔(1小時,1天等)。

如果它發現新數據,則通過解析器運行它,並將數據傳遞到數據庫。這裏有一些僞代碼:

// Get RSS data new today 
$rssFeed = getNewRssFeeds('today'); 

if($rssfeed) 
{ 
    // Parse feed into an array of data 
    $dataArray = $myRssParser->parse($newRSS); 

    // Insert into DB 
    $myDbHandler->insert($dataArray); 
} 

這些功能都不是真的,你必須對它們進行編碼。但這通常是如何工作的。

+0

這裏的漁獲,RSS提要的是,上傳的文件列表。我的相機中有一張Eye-Fi卡,這些照片將被ftp轉至特定位置。 Eye-Fi卡也吐出我拍攝的所有照片的RSS源。我試圖做的是每當一張新照片被拍攝並自動ftp到我的服務器,我想以某種方式通知數據庫,有一張新照片,並阻止其URL。我無法定期安排腳本運行,因爲我隨時都會拍照。 – Murphy1976 2012-03-22 12:32:17

0

您可以設置一個cron作業來定期從RSS提要中檢索數據並將更新推送到數據庫中。

0

我需要關於您的數據庫連接器和RSS解析器的更多信息......您使用的是什麼數據庫API是PDO MySQLi還是別的什麼?你能解析rss並將數據存儲在數組或對象中。

你可以創建它從數據對象或數組這樣的插入查詢和存儲:

$q = "INSERT INTO `my_table_name` (`id`, `name`, `etc`) VALUES (NULL, '$data->name', '$data->etc')";