我的 RSS 提要只显示很少的帖子
My RSS feed only show few posts
我正在尝试使用 PDO 为我的 CMS 创建一个自动 Feed。
这是我的代码。它有效,但只显示了几个帖子。我的代码有什么问题。
<?php
include('dbcon.php');
header("Content-Type: application/rss+xml; charset=ISO-8859-1");
//header("Content-Type: application/rss+xml; charset=utf-8");
echo '<?xml version="1.0" encoding="UTF-8" ?>';
echo '<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">';
echo '<channel>';
?>
<title>Authorized Honda Auto Dealer | Serang Cilegon</title>
<link>https://hondaautoserang.com/</link>
<atom:link href="https://hondaautoserang.com/feed/" rel="self" type="application/rss+xml"/>
<description>authorized honda auto dealer: dealer resmi mobil honda serang & honda cilegon. beli mobil di serang terbukti lebih murah. Cek info harga & promo terbaru: 087774040777.</description>
<language>id-id</language>
<copyright>Copyright (C) 2017 hondaautoserang.com</copyright>
<?php
$sqlFeed = "SELECT * FROM honda_post ORDER BY id DESC";
$execFeed = $pdo->query($sqlFeed);
$execFeed->execute();
$fetchFeed = $execFeed->fetchAll(PDO::FETCH_ASSOC);
if ($fetchFeed){
foreach($fetchFeed as $r){
$id = $r['id'];
$title = $r['title'];
$description = $r['description'];
$publisher = $r['publisher'];
$article = $r['article'];
$image = $r['image'];
$url = $r['url'];
$date = $r['date'];
$category = $r['category'];
//tampilkan
echo '<item>';
echo '<title>'.$r['title'].'</title>';
echo '<description>'.$r['description'].'</description>';
echo '<category>'.$r['category'].'</category>';
//echo '<content:encoded><![CDATA['.html_entity_decode($article, ENT_QUOTES, 'utf-8').']]></content:encoded>';
echo '<link>'.$r['url'].'</link>';
echo '<pubDate>'.$r['date'].'</pubDate>';
//echo '<dc:creator>'.$r['publisher'].'</dc:creator>';
echo '<guid isPermaLink="true">'.$r['url'].'</guid>';
echo '</item>';
}
}
?>
<?php
echo '</channel>';
echo '</rss>';
?>
当我改成ORDER BY id ASC时,只显示了10个帖子
(目前已发布 21 篇格式正确的帖子)。
您尝试过以下方法吗? :
$sqlFeed = "SELECT * FROM honda_post ORDER BY id DESC LIMIT 21";
当我检查回我的 pdo 代码时,没问题。但这是因为根据 mozilla 浏览器 和 google feedburner[,标题中的符号 无效 =33=].
解决方法:
所有 & 符号必须更改为 &
然后我使用它来更改 <title>
中的所有 &
,<description>
如下:
$title = str_replace('&', '&', $r['title']);
$description = str_replace('&', '&', $r['description']);
如我所愿
注:
但是,这个问题 不是重复的 因为这个问题与参考文献不同 :p
我正在尝试使用 PDO 为我的 CMS 创建一个自动 Feed。
这是我的代码。它有效,但只显示了几个帖子。我的代码有什么问题。
<?php
include('dbcon.php');
header("Content-Type: application/rss+xml; charset=ISO-8859-1");
//header("Content-Type: application/rss+xml; charset=utf-8");
echo '<?xml version="1.0" encoding="UTF-8" ?>';
echo '<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">';
echo '<channel>';
?>
<title>Authorized Honda Auto Dealer | Serang Cilegon</title>
<link>https://hondaautoserang.com/</link>
<atom:link href="https://hondaautoserang.com/feed/" rel="self" type="application/rss+xml"/>
<description>authorized honda auto dealer: dealer resmi mobil honda serang & honda cilegon. beli mobil di serang terbukti lebih murah. Cek info harga & promo terbaru: 087774040777.</description>
<language>id-id</language>
<copyright>Copyright (C) 2017 hondaautoserang.com</copyright>
<?php
$sqlFeed = "SELECT * FROM honda_post ORDER BY id DESC";
$execFeed = $pdo->query($sqlFeed);
$execFeed->execute();
$fetchFeed = $execFeed->fetchAll(PDO::FETCH_ASSOC);
if ($fetchFeed){
foreach($fetchFeed as $r){
$id = $r['id'];
$title = $r['title'];
$description = $r['description'];
$publisher = $r['publisher'];
$article = $r['article'];
$image = $r['image'];
$url = $r['url'];
$date = $r['date'];
$category = $r['category'];
//tampilkan
echo '<item>';
echo '<title>'.$r['title'].'</title>';
echo '<description>'.$r['description'].'</description>';
echo '<category>'.$r['category'].'</category>';
//echo '<content:encoded><![CDATA['.html_entity_decode($article, ENT_QUOTES, 'utf-8').']]></content:encoded>';
echo '<link>'.$r['url'].'</link>';
echo '<pubDate>'.$r['date'].'</pubDate>';
//echo '<dc:creator>'.$r['publisher'].'</dc:creator>';
echo '<guid isPermaLink="true">'.$r['url'].'</guid>';
echo '</item>';
}
}
?>
<?php
echo '</channel>';
echo '</rss>';
?>
当我改成ORDER BY id ASC时,只显示了10个帖子 (目前已发布 21 篇格式正确的帖子)。
您尝试过以下方法吗? :
$sqlFeed = "SELECT * FROM honda_post ORDER BY id DESC LIMIT 21";
当我检查回我的 pdo 代码时,没问题。但这是因为根据 mozilla 浏览器 和 google feedburner[,标题中的符号 无效 =33=].
解决方法:
所有 & 符号必须更改为 &
然后我使用它来更改 <title>
中的所有 &
,<description>
如下:
$title = str_replace('&', '&', $r['title']);
$description = str_replace('&', '&', $r['description']);
如我所愿
注:
但是,这个问题 不是重复的 因为这个问题与参考文献不同 :p