构建一个rss feed

时间:2012-10-29 11:54:11

标签: php mysql rss feed

我正在尝试为网站的新闻页面首次构建动态RSS订阅源文件。

所以我有以下代码

<?php
    header("Content-Type: application/rss+xml; charset=utf-8");

    echo'
        <?xml version="1.0" encoding="utf-8"?>
        <rss version="2.0">
        <channel>
            <title>My Site RSS feed</title>
            <guid>http://example.com/media/news.php</guid>
                    <link>http://www.exemple.com/mediacenter/news.php</link>
                     <description>This is an example RSS feed</description>
                    <language>en-US</language>              
    ';

    include('../misc/session.php'); // to get the language selected by user
    include('../includes/connection.php'); //connection to DB

    $idLang = $_SESSION['idLang'];


    $query = mysql_query("SELECT FROM tbl_news WHERE lang_id = '$idLang'");

    while($rs = mysql_fetch_array($query)){
        echo"
            <item>
                <title>".$rs['l_tltle']."</title>
                <link>a href='http://www.exemple.com/media/news.php'</link>
                <description><!CDATA['".$rs['l_text']."']></description>
            </item>
        ";
    }
    echo'
    </channel>
    </rss>
    ';
?>

在我的index.php文件中,在我得到这一行之前:

<link rel="alternate" type="application/rss+xml" title="MySite RSS Feed" href="http://mysite.com/rssfeed/rss.php" />

当我点击带有Firefox的图标时,它应该打开一个带有谷歌阅读器页面的页面,就像在其他网站中一样,但在我的情况下,它会打开一个弹出窗口来保存文件。在chrome中,我有一个this extensison,它检测到有一个Feed。但它没有列出任何新闻。

任何人都可以帮助我吗?缺少什么?

由于

1 个答案:

答案 0 :(得分:0)

我有两个问题。

首先是在查询中。它在SELECT之后缺少*。 第二个错误是在第二行。 <?xml version="1.0"...必须与单引号位于同一行。与此echo' <?xml version="1.0" ...一样,否则会出现验证错误,浏览器无法reed Feed。

随意提供更多建议