Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]RSS do bazy
robos85
post
Post #1





Grupa: Zarejestrowani
Postów: 466
Pomógł: 11
Dołączył: 21.09.2006
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


Otóż mam za zadanie zrobić taki skrypt, który pobiera dane z RSS wklepuje je do bazy a następnie wyświetla dane z bazy.
Muszę też wyświetlać bezpośrednio z pliku xml - z tym już sobie poradziłem.
Poradźcie jak mam teraz pobrać dane do bazy - chyba najlepiej przez tablice zapisywać?
Mam taki kod na razie (prawa kolumna jest skopiowana z lewej):

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3.  <head>
  4.  <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
  5. <title>IMIE I NAZWISKO STUDENTA</title>
  6. <link href="styl.css" rel="stylesheet" type="text/css" />
  7.  </head>
  8.  <body>
  9.  <div style="width: 900px; margin: auto;">
  10. <div style="width: 900px;">
  11. <div id="menu">KANAŁY - po najechaniu się rozwija lista.</div>
  12. <div id="logo">LOGO szerokość 700</div>
  13. </div>
  14. <div style="width: 900px; margin: auto; clear: both; padding-top: 10px;">
  15. <div style="width: 45%; float: left; text-align: center;">ONLINE</div>
  16. <div style="width: 45%; float: right; text-align: center;">BAZA</div> 
  17.  
  18. <div style="width: 45%; font-size: 12px; float: left; border: solid; clear: left;">
  19. <div style="width: 85%; margin: auto;">
  20. <?php 
  21. $rss = simplexml_load_file('http://www.cert.pl/rss_feed.xml');
  22. $lacz= $rss->channel->item;
  23. foreach ( $lacz as $item )
  24. {
  25. print ("<a href=\"" . $item->link . "\" style=\"font-size: 14px;\">" . $item->title . "</a><br>" . $item->description . "<br><br>");
  26. }
  27. ?>
  28. </div>
  29. </div>
  30. <div style="width: 45%; font-size: 12px; float: right; border: solid; clear: right;">
  31. <div style="width: 85%; margin: auto;">
  32. <?php 
  33. $rss = simplexml_load_file('http://www.cert.pl/rss_feed.xml');
  34. $lacz= $rss->channel->item;
  35. foreach ( $lacz as $item )
  36. {
  37. print ("<a href=\"" . $item->link . "\" style=\"font-size: 14px;\">" . $item->title . "</a><br>" . $item->description . "<br><br>");
  38. }
  39. ?>
  40. </div>
  41. </div>
  42.  
  43. </div>
  44. </div>
  45. <div id="stopka">STOPKA</div>
  46.  
  47.  </body>
  48.  </html>


Ten post edytował robos85 30.12.2007, 12:39:06
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
aiv
post
Post #2





Grupa: Zarejestrowani
Postów: 93
Pomógł: 13
Dołączył: 7.09.2006

Ostrzeżenie: (0%)
-----


Dodaj do foreach() budowanie INSERT'a z wieloma rekordami:
  1. INSERT INTO `rss` (`id`,`link`, `title`, `description`) VALUES (NULL , '$item->link', '$item->title', '$item->description'), (NULL , '$item->link', '$item->title', '$item->description');


Np tak:
  1. <?php 
  2. $rss = simplexml_load_file('http://www.cert.pl/rss_feed.xml');
  3. $lacz= $rss->channel->item;
  4. foreach($lacz as $item) {
  5. $addArray[] = "(NULL , '$item->link', '$item->title', '$item->description')";
  6. print ("<a href=\"" . $item->link . "\" style=\"font-size: 14px;\">" . $item->title . "</a><br>" . $item->description . "<br><br>");
  7. }
  8. if (count($addArray) > 0) {
  9. $sql = "INSERT INTO `rss` (`id`,`link`, `title`, `description`) VALUES ";
  10. $sql .= implode(',' $addArray);
  11. mysql_query($sql);
  12. }
  13. ?>
Go to the top of the page
+Quote Post
robos85
post
Post #3





Grupa: Zarejestrowani
Postów: 466
Pomógł: 11
Dołączył: 21.09.2006
Skąd: Szczecin

Ostrzeżenie: (0%)
-----


mam teraz problem z polskimi znakami w bazie:/
mam poustawiane pola na utf8_unicode_ci i nie zapisuje mi PL znaków tylko krzaczki:/
kodowanie stronki mam utf8


Jak to naprawić?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 20:49