2010-12-21 6 views
0

次のPHPコードを使用してRSSフィードのXMLを生成していますが、正しく動作していないようです。短い説明はフィードリーダーに表示されません、私は記事のタイトルが表示されます。また、すべての記事は、同時に出版されたと言います。 RSSフィードをセットアップしようとしたのはこれが初めてです。だから私はいくつかばかげた過ちを犯したと確信しています。PHPで作成された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"); 
+0

[SimpleXMLは](http://php.net/manual/en/book.simplexml.php) – ajreal

答えて

0
  1. あなたは$ [ 'ポスト']は、ポストが含まれていることを確認してくださいか?

  2. $ a [perm_link]の配列インデックスの引用符がありません。

  3. 日付を格納する変数は$ dateと呼ばれ、フィードの中には$ date2が入ります。

  4. (なぜなら機能性は損なわれませんが)なぜ$ ch varがループの直前に宣言されましたか?

+0

1.はい、100%確かのように...このための適切なXMLパーサーを使用してください。私はそれをXMLファイルで見ることができます。 3.ありがとうございました。私はそれをどのように逃したのか分かりません。それは日付の問題を修正し、もう1つの問題は今でも修正されているようです。 –

関連する問題