do-while循环内的Simplexml计数

时间:2013-05-09 11:59:42

标签: php

我正在尝试在do-while循环中执行simplexml计数,是的,它很简单,但计数不正确,因为它在2个循环内。有没有更简单的方法来计算?

$query_fl = "SELECT * FROM table";
$fl = mysql_query($query_fl, $rf) or die(mysql_error());
$row_fl = mysql_fetch_assoc($fl);

do {
    $xml = $row_fl['fu'];
    $xmlDoc = new DOMDocument();
    $xmlDoc->load($xml);

    $rss = simplexml_load_file($xml);
    $items = $rss->channel->item;

    foreach($items as $item){
        echo $rss->channel->title;
        echo $feed_count."<BR>";
        $feed_count++;
    }

    $feed_count=1;

} while ($row_fl = mysql_fetch_assoc($fl)); 

------------- 输出就像这样

Feed 1 - Count-1
Feed 1 - Count-2
Feed 1 - Count-3
Feed 1 - Count-4
Feed 1 - Count-5

Feed 2 - Count- 1
Feed 2 - Count- 2
Feed 2 - Count- 3
...
..

--------------- 我希望输出为

   Feed 1 - Count-5
   Feed 2 - Count-3

1 个答案:

答案 0 :(得分:0)

你应该使用mysqli而不是mysql_ *,因为它现在已经被删除了,但继续......你有两个选择:

1)移动$ feed_count = 1;在所有项目的单个计数的do循环之前。

2)为foreach循环创建一个计数数组,每次退出foreach循环时递增数组索引。这将为您提供一系列项目计数。如果您使用从项变量派生的密钥,例如它的名称,那么你可以计算一个项目类型的出现次数,即使它们不是在你的xml中都没有。