Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Veritabanına kayıt problemi

Konu, 'PHP' kısmında yeniuye tarafından paylaşıldı.

  1. yeniuye

    yeniuye Üye

    Kayıt:
    5 Ekim 2007
    Mesajlar:
    43
    Beğenilen Mesajlar:
    0
    Merhaba, ntvmsnbc den haberleri çekip bunları veritabanına kaydetmek istiyorum, verileri çekebildiğim halde onları kaydedemiyorum. Halbuki kodlar ayrı ayrı doğru çalışıyor. Kodlar bunlar sorun nedir acaba?

    PHP:
    $dosya "http://tools.ntvmsnbc.com/rss/COM.xml";
    $pozisyon 0;
    $Yumrular = array();
    if (!(
    $fp fopen($dosya"r"))) {
       die(
    "XMLi açamadım");
    }
    while (
    $SatirAl fread($fp4096)) {
       
    $veri $veri $SatirAl;
    }
    $say 0;
    $pozisyon 0;
    while (
    $yumru ElemanIsmiyleAl($veri"<item>""</item>")) {
       
    $Yumrular[$say] = $yumru;
       
    $say++;
       
    $veri substr($veri$pozisyon);
    }
    for (
    $i=0$i<10$i++) {
    $kategori ElemanIsmiyleAl($Yumrular[$i], "<category>""</category>");
    $baslik ElemanIsmiyleAl($Yumrular[$i], "<title>""</title>");
    $aciklama ElemanIsmiyleAl($Yumrular[$i], "<description>""</description>");
    $link ElemanIsmiyleAl($Yumrular[$i], "<link>""</link>");
    $habersay 0;
    if(
    $baslik != "")
     {
      
    $baslikx explode("[",$baslik);
      
    $baslik $baslikx[0];

      
    $baslik iconv("UTF-8""ISO-8859-9"$baslik); 
      
    $aciklama iconv("UTF-8""ISO-8859-9"$aciklama); 


    $sorgu=mysql_query("Select * from haberler where `haberadi` LIKE '$baslik'"); 
    $habersayisi=mysql_num_rows($sorgu);

    if (
    $habersayisi==0)
    {
     
    $icerik=file_get_contents("$link");
    $cek explode('<p class="textBodyBlack">',$icerik); 
    $cek explode('</td><td>&nbsp;</td></tr></table>',$cek[1]); 
    $cektim trim($cek[0]); 
     
    $cektim preg_replace('/<a  href="(.*?)">(.*?)<\\/a>/i''$2'$cektim);


    $habericerik="$aciklama <br/><br/> $cektim";
    $sql "insert into haberler (haberadi, haber, hit, tarih)
    values ('
    $baslik', '$habericerik', '1', Now())";
    $kayit mysql_query($sql);
    }
    }

     
  2. ozguraybar2

    ozguraybar2 Aktif Üye

    Kayıt:
    17 Eylül 2007
    Mesajlar:
    473
    Beğenilen Mesajlar:
    0
    Meslek:
    Öğrenci
    Şehir:
    Denizli
    çıkan hata nedir
     
  3. yeniuye

    yeniuye Üye

    Kayıt:
    5 Ekim 2007
    Mesajlar:
    43
    Beğenilen Mesajlar:
    0
    Hata vermiyor kaydettim diyor kaydetmiyor (daha doğrusu sadece 1 haberi kaydediyor.)
     
  4. Setting_By

    Setting_By Üye

    Kayıt:
    16 Mart 2008
    Mesajlar:
    89
    Beğenilen Mesajlar:
    0
    nasıl sadece bir haberi ?
    ilk haberimi , yoksa son haberimi , yoksa kafasına göre mi ?
    yani bir standardı varmı ?
     
  5. akyor35

    akyor35 Daimi Üye

    Kayıt:
    7 Nisan 2005
    Mesajlar:
    1,510
    Beğenilen Mesajlar:
    0
    Şehir:
    İstanbul
    sondaki $cektim dizi... oraya dikkat edermisin
     
  6. yeniuye

    yeniuye Üye

    Kayıt:
    5 Ekim 2007
    Mesajlar:
    43
    Beğenilen Mesajlar:
    0
    Setting_By sadece bir haberi derken, ne ilk ne son ne de rastgele seçiyor. http://tools.ntvmsnbc.com/rss/COM.xml Süreki "Starbucks 600 kafeyi kapatacak" haberini ekliyor.

    akyor35 sondaki $cektim dizisini linkleri silmek için kullanmıştım, onu kaldırınca da değişen birşey olmuyor.

    Sorun sanırım sadece veritabanı ile ilgili çünkü sayfa çekme işlemini devre dışı bırakıp sadece rssden veri okuttuğum zamanda kaydetmiyor ancak şu şekilde sonuç geliyor yani kayıt edilmesi gereken verileri alıyor ancak tamamını edemiyor.

    PHP:
    mysql_query("INSERT INTO haberler (haberadi, haber, hit, tarih) VALUES('$baslik','$aciklama',1,Now())");
     
    echo 
    $baslik;
    echo 
    "<br/>";
     
  7. yeniuye

    yeniuye Üye

    Kayıt:
    5 Ekim 2007
    Mesajlar:
    43
    Beğenilen Mesajlar:
    0
    Yorumu olan yok mu acaba?