Здравствуйте, проблема такая, на сайте попросили создать рсс канал, вобщем я новичок, и канал создается кривовато, то отображается одна новость, то вообще ничего. Помогите кто может. Вот код файла rss.php PHP: <?php include_once 'inc/connect.php'; $z=mysql_query("SELECT * FROM news ORDER BY `id` DESC LIMIT 10"); echo '<?xml version="1.0"?> <rss version="2.0"> <channel> <title>Новости ООО "Гостиничный комплекс Империя"</title> <link>http://imperiumokha.com</link> <description>Последние новости ООО "Гостиничный комплекс Империя"</description> <language>ru-ru</language> <pubDate>'.date('d.m.Y - H.i.s').'</pubDate> <lastBuildDate>'.date('d.m.Y - H.i.s').'</lastBuildDate> <docs>http://imperiumokha.com/rss.php</docs>'; $z=mysql_query("SELECT * FROM news ORDER BY `id` DESC LIMIT 10"); while ($r=mysql_fetch_array($z)) { echo '<item> <title>'.htmlspecialchars($r['head_rus']).'</title> <link>http://imperiumokha.com/index.php?page=news&id='.$r['id'].'</link> <description>'.htmlspecialchars($r['short_rus']).'</description> <pubDate>'.date('d.m.Y - H.i.s').'</pubDate> <guid>http://imperiumokha.com/index.php?page=news&id='.$r['id'].'</guid> </item>'; } echo '</channel> </rss>'; ?>
очень странно реализованы подключения к базе. первый вызов опирается на старое подключение (которого может не быть), при этом результат нишде не используется, второй вызов опирается на подключение старое/новое в зависимости от того, был ли уже include файла. думаю где-то здесь собака порылась. сам feed-list составлен вроде верно, но я не парсер - на глазок валидность не проверю зы: писать в rss-ленте дату публикации взятую с текущего времени - это дурной тон. время ласт-билда берут по последней новости. время, указываемое в rss отдают в формате RFC 2822. другими словами - это date('r');
Подключение да, немного просмотрел, в оригинале файла rss.php оно в самом верху, сейчас подправлю, с датой публикации тоже подправил, но все равно либо одна новость вылазит, либо просто пусто, ничего не пойму ((((
если вы проверяете голый xml, то rss тут не при чём. проверяйте взаимодействие с базой. если же вы проверяете feed-reader'ом, то поправьте косяки, которые смогли найти (с датами в том числе) и код сюда. будем смотреть, что к чему. ps: feed-list он на то и feed, а не stationary-, к примеру. даже не продвинутый feed-reader помнит историю посещения ленты своего хозяина. те новости, которые владелец читал, FR не будет отображать. вроде так. потому отладку нужно вести на голом xml, а потом уже проеверять на реальной подписке