php/mysql/xml / Dlaczego ta pętla się nie robi cała?

0

Witam,

Mam oto taki kod:

require("admin/config.php");

mysql_connect($DBHOST, $DBUSER, $DBPASS);
mysql_select_db($DBNAME);

$pobranie_danych_kanalow_rss = mysql_query("SELECT * FROM `rss`");
$pobranie_liczby_kanalow_rss = mysql_num_rows(mysql_query("SELECT * FROM `rss`"));

while($row = mysql_fetch_array($pobranie_danych_kanalow_rss)) {

// DANE KANAŁU RSS
$rss_id = $row['rss_id'];
$link_do_kanalu = $row['rss_link'];
$kategoria_kanalu = $row['rss_category'];
$zrodlo_kanalu = $row['rss_source'];

$rss = simplexml_load_file($link_do_kanalu);

foreach($rss -> channel -> item as $item){
     
$tytul_pobranej_wiadomosci = $item->title;
$link_pobranej_wiadomosci = $item->link;
$tresc_pobranej_wiadomosci = $item->description;
$data_pobrania_wiadomosci = date('d/m/Y');

$czy_istnieje_taki_wpis = mysql_num_rows(mysql_query("SELECT `content_id` FROM `content` WHERE `content_link`='$link_pobranej_wiadomosci'"));

if ($czy_istnieje_taki_wpis == 0) {

if(!strpos($tresc_pobranej_wiadomosci , 'http://')) {
mysql_query("INSERT INTO `content` (`content_id`, `rss_id`, `content_content`, `content_date`, `content_link`, `content_title`) 
 VALUES ('', '$rss_id', '$tresc_pobranej_wiadomosci', '$data_pobrania_wiadomosci', '$link_pobranej_wiadomosci', '$tytul_pobranej_wiadomosci')");
       
echo 'Dodano: <a href="'.$link_pobranej_wiadomosci.'" target="_blank">'.$tytul_pobranej_wiadomosci.'</a><br />'; 

}
}
}


}

Przykładowy wynik działania to:

Dodano: Włamał się na stronę Czerwonego Krzyża
Dodano: i8510 – smartfon z 8 megapikselami na pokładzie
Dodano: Miniaturowa odmiana notebooków Amilo
Dodano: Hakerzy aktywni politycznie
Dodano: Witryna do sprawdzania kompatybilności z Windows Vista
Dodano: Wielkie ułatwienie dla programujących w Linuksie
Dodano: Serwisy społecznościowe zmorą pracodawców
Dodano: Oprogramowanie antywirusowe AVG naprawione
Dodano: Jaka jest "psychologia spamu"?
Dodano: Krzemieniec. Miasto wielkiej tęsknoty
Dodano: Nowe modele i wizualizacje Muzeum Sztuki Nowoczesnej
Dodano: Wystawa "OK! Wyspiański"
Dodano: Luwr najpopularniejszym muzeum świata
Dodano: Książka dobrze zaprojektowana – zacznijmy od dzieci
Dodano: Zostało już tylko 40 utalentowanych
Dodano: "Glina" za słaby na konkurencję
Dodano: "39 i pół" i "Naznaczony" poczekają do 2009 roku

Jednakże w tym przypadku do bazy zostanie dodany tylko rekord reprezentujący:

Dodano: Włamał się na stronę Czerwonego Krzyża

Reszta rekordów (a powinny byc wszystkie dodane do bazy) zstaje pominięta!

Co jest nie tak w pętlach?

pzdr

0

Po mysql_query daj echo mysql_error(); i dowiesz sie czy sa jakies bledy.

0

przed pętlą wpisz
echo count($rss -> channel -> item)
będziesz wiedział ile cykli ma foreach.

1 użytkowników online, w tym zalogowanych: 0, gości: 1