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ąć
|
|
|