我正在尝试在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
答案 0 :(得分:0)
你应该使用mysqli而不是mysql_ *,因为它现在已经被删除了,但继续......你有两个选择:
1)移动$ feed_count = 1;在所有项目的单个计数的do循环之前。
或
2)为foreach循环创建一个计数数组,每次退出foreach循环时递增数组索引。这将为您提供一系列项目计数。如果您使用从项变量派生的密钥,例如它的名称,那么你可以计算一个项目类型的出现次数,即使它们不是在你的xml中都没有。