BEn biraz çalıştım. Arama mantığını aşağıdaki şekilde değiştirdim. Bu sefer doğru şekilde kaydediyor. Sadece veritabanında olmayanlar kaydoluyor. Ama birden fazla rss çekildiği zaman aynı şekilde son rss veritabanına kaydediyor. Öncekileri kaydetmiyor.
Tek bir rss adresinden veri alırken sorun yok. Ama çoklu olduğunda olmuyor.
Yardımınıza ihtiyaç var.
function rss_getir()
{
global $option;
$database =& JFactory::getDBO();
$sql = 'SELECT url FROM tablo';
$database->setQuery( $sql );
$last_50_urls_in_database = $database->loadResultArray();
$config =& JComponentHelper::getParams( 'com_bilesenadi' );
$load_rss_url = $config->get( 'load_rss_url' );
$divided_rss_names = explode(',',$load_rss_url);
$rss_quantity = count($divided_rss_names);
$doc = new DOMDocument();
for($i=0; $i<$rss_quantity; $i++)
{
$doc->load( 'http://www.site.com/rss/'.$divided_rss_names[$i].'.html' );
$items = $doc->getElementsByTagName( "item" );
foreach( $items as $item )
{
$titles = $item->getElementsByTagName( "title" );
$links = $item->getElementsByTagName( "link" );
$ex_title = substr($titles->item(0)->nodeValue,0,4);
$title = explode($ex_title,$titles->item(0)->nodeValue);
$links = trim($links->item(0)->nodeValue);
// Search values in Database, if no...
if ( !in_array($links, $last_50_urls_in_database) ) {
// Save values into database
$save_sql = "INSERT INTO tablo VALUES ('','$title[1]', '$links', '1')";
@mysql_query($save_sql);
}
}
}
$msg = 'Items have been saved.';
$this->setRedirect( 'index.php?option=' . $option, $msg );
}