这里有一个数组
$item = new rssGenerator_item();
$query_rss = mysql_query("SELECT * FROM `trades` WHERE `app` = '1' ORDER BY `id` DESC LIMIT 10 ")OR die(mysql_error());
while($row_rss = mysql_fetch_array($query_rss)){
$item->title = $row_rss['unit'];
$item->description = excerpt($row_rss['message'],30);
$item->link = 'http://injaa.com/'.$row_rss['link'];
$item->guid = $row_rss['site'];
$item->pubDate = RelativeTime($row_rss['tarikh']);
$rss_channel->items[] = $item;
}
$rss_feed = new rssGenerator_rss();
$rss_feed->encoding = 'UTF-8';
$rss_feed->version = '2.0';
header('Content-Type: text/xml');
echo $rss_feed->createFeed($rss_channel);
在这一行
$rss_channel->items[] = $item;
清除之前的所有值并将最后一个值替换为数组!! 我现在不知道代码在哪里错了?
答案 0 :(得分:3)
使用
array_push($rss_channel->items, $item);
在顶部(while
之前)添加
$rss_channel->items = array();
答案 1 :(得分:0)
虽然@Mr Srinivas的答案更好,但我个人会像这样重写:
$items = array();
while($row_rss = mysqli_fetch_array($query_rss)){
$items[] = $item;
}
$rss_channel->items = $items;
不可否认,我没有足够的知识来解释为什么这会更好,这就是对我有意义的。