我试图在一个do-while循环中做一个simplexml计数,是的,它很简单,但是计数是不正确的,因为它在两个循环中。有更简单的方法来做计数吗?
$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发布于 2013-05-09 12:07:47
您应该使用mysqli而不是mysql_*,因为它现在已经被删除了,但是继续.你有几个选择,要么:
1)将$feed_count=1;移动到do循环之前,用于所有项的单个计数。
或
2)为foreach循环创建一个计数数组,每次退出foreach循环时都会增加数组索引。这将为您的项目提供一系列计数。如果使用从项变量(例如名称)派生的键,则可以计算项目类型出现的次数,即使它们在xml中并不都在一起。
https://stackoverflow.com/questions/16461271
复制相似问题