2011-01-26 17 views
0

私のウェブサイトにRSSフィーダーを入れたいと思います。私はrss-feed.xmlファイルを作成し、それをサーバーにアップロードしました。作業ファイルです。しかし、私はこのページのすべての製品をリストしたいと思います。だから私はPHPページを作成しました。ここでは、製品テーブルからすべてのデータを取得し、xmlファイルに書き込んでいます。しかし、それは動作していない、下のコードを参照してください。PHPを使ったRssの実装

$sql_pdct="SELECT * FROM tbl_category where bit_active =1 and int_category_id IN (SELECT int_category_id FROM tbl_product WHERE bit_active =1)"; 

    $qry_pdct=mysql_query($sql_pdct); 

    If (mysql_num_rows ($qry_pdct)>0){ 

      While ($row = mysql_fetch_array ($qry_pdct)){ 
       $con=$row['str_category']; 
       $xml_content .= "<item>\r\n"; 
       $xml_content .= "<title>".$con."</title>\r\n"; 
       $xml_content .= "<description><![CDATA[ All your fancy content goes here... ]]></description>\r\n"; 
       $xml_content .= "<link>http://www.your-domain-name.co.uk/folder/yourPage.html</link>\r\n"; 
       $xml_content .= "<guid isPermaLink=\"true\">http://www.your-domain-name.co.uk/folder/yourPage.html</guid>\r\n"; 
       $xml_content .= "</item>\r\n"; 
       } 
    $xml_content .= "</channel>\r\n"; 

    $xml_content .= "</rss>\r\n"; 

    // open xml feed file and truncate to zero length 
    $xml_file = fopen("rss-feed.xml", "w"); 

    // write xml content to xml file 
    fwrite($xml_file, $xml_content); 

    // close xml file 
    fclose($xml_file); 

    header("location:rss-feed.xml"); 

テーブルには12個のアイテムが含まれていますが、結果には1個のアイテムしか表示されません。どうですか?

これを知っている人はいますか?私に彼らはすべて同じGUIDを持っているので、同じ項目の複数のバージョンであるとしてマークされている事前

+1

コードの書式を確認してください。 ;-)私たちにSQLクエリを見せてください! – thedom

+4

ところで、XMLの内容をディスクに書き込んだり、リダイレクトしたりするのではなく、XMLの内容をエコーすることができます。 :) – Merijn

+0

それは助けではありません。1つだけを示す結果を – Testadmin

答えて

3

感謝を助けてください。

+0

良いスポット!はい、@Testadmin、XMLの出力を直接チェックするのではなく、RSSリーダーで結果を調べていますか? RSS ''のGUIDは、読者が記事を区別するために使用されるため、GUIDがすべてのアイテムで同じ場合、一部の読者では単一のアイテムとして表示されます。 –

+0

rssフィーダにすべての製品を表示する他の方法はありますか? – Testadmin

+0

いいえ...しかし、本当にグローバルに一意のIDを作ることは難しくありません...エラー...ユニークです。 – Quentin

関連する問題