kodlar şu şekildeyken:
function rss_getir()
{
global $option;
$database =& JFactory::getDBO();
$sql = 'SELECT url FROM tablo';
$database->setQuery( $sql );
$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 )
{
echo $item; // içerik var mı?
$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, $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 );
}kontrol ediyorum. Veritabanında kayıtlı olmayanları doğru şekilde görebiliyorum. Ama kaydolmuyor.
if ( !in_array($links, $urls_in_database) ) {
echo $links;// Bu şekilde veritabanında kayıtlı olmayanları doğru şekilde görebiliyorum
$save_sql = "INSERT INTO tablo VALUES ('','$title[1]', '$links', '1')";
@mysql_query($save_sql);
}$urls_in_database = $database->loadResultArray();
$urls_in_database normalde çıktısı aşağıdaki şekilde: (Not: kafa karıştırmasın diye $last_50_urls_in_database yi $urls_in_database olarak değiştirdim.)
Array
(
[0] => http://www.site.com/abc1.html
[1] => http://www.site.com/abc2.html
[2] => http://www.site.com/abc3.html
[3] => http://www.site.com/abc4.html
[4] => http://www.site.com/abc5.html
[5] => http://www.site.com/abc6.html
[6] => http://www.site.com/abc7.html
[7] => http://www.site.com/abc8.html
[8] => http://www.site.com/abc9.html
[9] => http://www.site.com/abc10.html
[10] => http://www.site.com/abc11.html
[11] => http://www.site.com/abc12.html
)$linksdeğişkenin de çıktısı da if ( !in_array($links, $urls_in_database) ) { içindeyken şu şekilde:
http://www.site.com/zdpre1.html
http://www.site.com/zdpre2.html
http://www.site.com/zdpre3.html
http://www.site.com/zdpre4.html
http://www.site.com/zdpre5.html
http://www.site.com/zdpre6.html
http://www.site.com/zdpre7.html
http://www.site.com/zdpre8.html
http://www.site.com/zdpre9.html
sanırım sayma ile ilgili bir sorun var. yukardaki $i++ değişkeni ile ilgili olabilir. Ama emin değilim.
in_array içinde $links çıktısı bana veritabanında olmayanları veriyor ama kaydetmiyor.