To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

HTML/PHP/AJAX/JS - [problem] RSS

maniek.a - 26-01-2008, 09:11
Temat postu: [problem] RSS
Witam! Tworze kanał do rss ale mam problem: gdy za subskrybuje to pojawiają się w RSS tylko te newsy które były w chwili subskrypcji a nie ma nowych.
Kod rss
Kod:
<?php

session_start();

 include("conf.php");

//Laczenie z baza
mysql_connect ( $dbhost, $dbuser, $dbpass)or die("Could not connect: ".mysql_error());
mysql_select_db($dbname) or die(mysql_error());


if(isset($_SESSION['zalogowany']))
{
$start = 0;
$limit=10;
$pobieranie = mysql_query ("SELECT  *  FROM news ORDER BY 1 DESC LIMIT $start,$limit");
header('Content-type: text/xml; charset=ISO-8859-2');
echo '<?xml version="1.0" encoding="ISO-8859-2"?>';

//$data2 = date("r");
echo '
<rss version="2.0">
<channel>
<title>Newsy</title>
<link>http://www.dziennik-ma.yoyo.pl/</link>
<description>Newsy ze strony http://www.dziennik-ma.yoyo.pl/</description>
<language>pl</language>
';

for ($i=1;$i<=10;$i++) {
//while ($zapisz = mysql_fetch_array($pobieranie)) {

   $zapisz = mysql_fetch_array($pobieranie);
   $tresc = $zapisz['tresc'];
   $title = $zapisz['tytul'];
   $id = $zapisz['n_id'];

   echo '<item>
   <link>http://www.dziennik-ma.yoyo.pl/newsy.php</link>
   <title>'.$title.'</title>
   <description>'.$tresc.'</description>
   </item>
   ';
}
}
echo '
</channel>
</rss>
';
?>
Proszę o szybko pomoc

koziolek - 26-01-2008, 10:13

bo program sprawdza plik RSS co jakiś czas ;)

po za tym lepiej by było chyba gdyby przy dodawaniu newsa skrypt php generował plik news.xml i ten plik czytał program

maniek.a - 26-01-2008, 10:29

koziolek napisał/a:
po za tym lepiej by było chyba gdyby przy dodawaniu newsa skrypt php generował plik news.xml i ten plik czytał program
Nie rozumiem, mógłbyś mi taki skrypt wykonać :?:
koziolek - 26-01-2008, 16:04

wklej ten frament po miejscu dodawania newsa do bazy czyli tam gdzie masz coś w stylu
Kod:

// tutaj masz poloczenie z baza, sprawdzenie czy user zalogowany, itp, itd
mysql_connect('serwer', 'user', 'haslo') or die('Nie mozna poloczyc sie z serwerem.');
mysql_select_db('baza_danych') or die('Nie mozna wybrac bazy danych.');

if(//jakies tam warunki sprawdzające czy kliknąłeś wyślij)
{
INSERT INTO ...

$txt = '<?xml version="1.0" encoding="ISO-8859-2"?>
<rss version="2.0">
<channel>
<title>Newsy</title>
<link>http://www.dziennik-ma.yoyo.pl/</link>
<description>Newsy ze strony http://www.dziennik-ma.yoyo.pl/</description>
<language>pl</language>';

$start = 0;
$limit = 10;
$pobieranie = mysql_query("SELECT * FROM newsy ORDER BY 1 DESC LIMIT $start,$limit");

if(!($pobieranie))
{
    die('Nie mozna pobrac danych z bazy');
}
else
{
    while($zapisz = mysql_fetch_array($pobieranie))
    {
        $txt .= '<item>
        <link>http://www.dziennik-ma.yoyo.pl/newsy.php?id='.$zapisz['id'].'</link>
        <title>'.date('d-m-Y', $zapisz['data_dodania']).'</title>
        <description>'.strip_tags($zapisz['news']).'</description>
        </item>';
    }
}

$txt .= '</channel>
</rss>';

if(!($fp = @fopen('news.xml', 'w')))
{
    die('Nie można otworzyc pliku <b>news.xml</b>');
}
else
{
    @flock($fp, 2);
   
    if(!(@fwrite($fp, $txt)))
    {
        die('Nie można zapisac danych do pliku <b>news.xml</b>');
    }
    @flock($fp, 3);
    @fclose($fp);
}
}
else
{
//a tu masz prawdopodobnie formularz
}


pracowałem na swoich zmiennych więc sprawdź cały kod i popraw sobie co trzeba ;)

maniek.a - 26-01-2008, 20:35

Dzięki, a jeszcze spytam jak zrobić sesje (żeby ściągało odpowiednie oceny).

Dobra można zamknąć



Powered by phpBB modified by Przemo © 2003 phpBB Group