Канал RSS, созданный с помощью PHP, показывает только заголовок в программе чтения каналов. - PullRequest
0 голосов
/ 21 декабря 2010

Я использую следующий код PHP для генерации XML для канала RSS, но, похоже, он работает неправильно. В ридере не отображается краткое описание, все, что я вижу, это название статьи. Кроме того, все статьи говорят, что они были опубликованы одновременно. Это первый раз, когда я пытался настроить канал RSS, поэтому я уверен, что допустил несколько глупых ошибок.

$result = mysql_query("SELECT * FROM blog ORDER BY id DESC LIMIT 10");

$date = date(DATE_RFC822);

header('Content-type: text/xml');

echo ("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
echo ("<rss version=\"2.0\">\n");
echo ("<channel>\n");
echo ("<lastBuildDate>$date</lastBuildDate>\n");
echo ("<pubDate>$date</pubDate>\n");
echo ("<title>my website name</title>\n");
echo ("<description><![CDATA[the description]]></description>\n");
echo ("<link>http://my-domain.com</link>\n");
echo ("<language>en</language>\n");

$ch=100;
while ($a = mysql_fetch_array($result)) {
    $headline = htmlentities(stripslashes($a['subject']));
    $posturl = $a[perm_link];
    $content = $a['post'];
    $date = date(DATE_RFC822, $a['posted']);

    echo ("<item>\n");
    echo ("<title>$headline</title>\n");
    echo ("<link>$posturl</link>\n");
    echo ("<description><![CDATA[$content]]></description>\n");
    echo ("<guid isPermaLink=\"true\">$posturl</guid>\n");
    echo ("<pubDate>$date2</pubDate>\n");
    echo ("</item>\n");
}

echo ("</channel>\n");
echo ("</rss>\n");

1 Ответ

0 голосов
/ 21 декабря 2010
  1. Вы уверены, что $ a ['post'] содержит сообщение?

  2. Отсутствуют кавычки для индекса массива в $ a [perm_link];

  3. Переменная, в которой вы храните дату, называется $ date, а в фиде вы помещаете $ date2;

  4. (не ставит под угрозуфункциональности, но) почему вы объявили, что $ ch var непосредственно перед циклом?

...