Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]pętla while i zapis pliku
Forum PHP.pl > Forum > Przedszkole
edzio_max
Witam. Pisze kanał rss. Dane do kanału pobieram z bazy danych. I wymyśliłem sobie iż pobiorę dane z bazy a następnie pętlą while dodam je pokolei do pliku xml, lecz napotkałem na problem gdyż mój skrypt się po prostu zawiesza, możecie zobaczyć co źle zrobiłem? sad.gif

thx z góry
  1. <?php
  2. $dane1="";
  3. $file1 = "rss.xml";
  4. $fp1 = fopen($file1, "w+");
  5. flock($fp1, 2);
  6. fwrite($fp1, $dane1);
  7. flock($fp, 3);
  8. fclose($fp1);
  9.  
  10. $dane2='<?xml version="1.0" encoding="windows-1250" ?>
  11. <rss version="2.0">
  12.  
  13.  
  14. <channel>
  15. <title> Aktualności</title>
  16. <link>http://mojastrona.pl</link>
  17. <description></description>
  18. <lastBuildDate></lastBuildDate>
  19. <language>pl</language>\n';
  20.  
  21. $file2 = "rss.xml";
  22. $fp2 = fopen($file2, "a+");
  23. flock($fp2, 2);
  24. fwrite($fp2, $dane2);
  25. flock($fp, 3);
  26. fclose($fp);
  27.  
  28. $file3 = "rss.xml";
  29. $fp3 = fopen($file3, "a+");
  30. flock($fp3, 2);
  31.  
  32. while($wiersz=mysql_fetch_array($link))
  33. {
  34.  
  35. $dane3='<item>
  36. <title><![CDATA['.$wiersz['tytul'].']]></title>
  37. <link>http://mojastrona</link>
  38. <description><![CDATA['.$wiersz['tresc'].']]></description>
  39. <pubDate><![CDATA['.$wiersz['data'].']]></pubDate>
  40. </item>\n';
  41.  
  42. fwrite($fp3, $dane3);
  43.  
  44.  
  45. }
  46.  
  47. $dane4='</channel>
  48. </rss>';
  49.  
  50. fwrite($fp3, $dane4);
  51. flock($fp3, 3);
  52. fclose($fp3);
  53. ?>
CuteOne
Otwierasz w kółko ten sam plik nie zamykając go wcześniej [nie widzę nigdzie zmiennej $fp].. nie możesz wszystkiego zapisać raz a pożądnie??

  1. <?php
  2. $write = '<?xml version="1.0" encoding="windows-1250" ?>
  3. <rss version="2.0">
  4. <channel>
  5. <title> Aktualności</title>
  6. <link>http://mojastrona.pl</link>
  7. <description></description>
  8. <lastBuildDate></lastBuildDate>
  9. <language>pl</language>\n';
  10.  
  11. while($wiersz=mysql_fetch_array($link))
  12. {
  13.  
  14. $write .='<item>
  15. <title><![CDATA['.$wiersz['tytul'].']]></title>
  16. <link>http://mojastrona</link>
  17. <description><![CDATA['.$wiersz['tresc'].']]></description>
  18. <pubDate><![CDATA['.$wiersz['data'].']]></pubDate>
  19. </item>\n';
  20. }
  21.  
  22. $write .='</channel>
  23. </rss>';
  24.  
  25. file_put_contents('rss.xml', $write); //lub fopen,frwite itp...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.