-5

这里是一个数组

$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;

在此清除之前的所有值并将最后一个值替换为数组!我现在不知道代码错在哪里?

4

2 回答 2

3

利用

array_push($rss_channel->items, $item);

在顶部(之前while)添加

$rss_channel->items = array();
于 2013-06-20T13:22:06.000 回答
0

虽然@Mr Srinivas 的回答更好,但我个人会这样重写:

$items = array();
while($row_rss = mysqli_fetch_array($query_rss)){
    $items[] = $item;
}
$rss_channel->items = $items;

诚然,我没有知识来解释为什么这会更好,这对我来说就是有意义的。

于 2013-06-20T13:25:22.963 回答