多个while语句 - 如何

时间:2011-08-08 14:12:53

标签: php while-loop

我的剧本有问题。

我有这个:

<?php
$r=mysql_query("SELECT * FROM memberships WHERE id!='".$userdata['membership']."'");

while($md = mysql_fetch_assoc($r)):
  echo '<td class="header">'.$md['name'].'</td>';
endwhile;
?>

有效。但如果在页面的下方,我会添加:

<?php
while($md = mysql_fetch_assoc($r)):
  echo '<td class="result">'.$md['number_of_ads'].'</td>';
endwhile;
?>

它不会输出任何内容。为什么呢?

3 个答案:

答案 0 :(得分:8)

也许是因为没有更多的元素可以获取。不确定你要完成什么,但是如果你想从头开始获取数据,你需要在第二个代码块之前添加它:

mysql_data_seek($r, 0);

这会将内部指针重置为开头。

答案 1 :(得分:1)

$r获取所有行后,对它的连续调用将不会返回任何行。

因此,当第一个while循环结束时,在第二个循环中无法从查询结果中获取

答案 2 :(得分:1)

fetch_association函数从结果集中绘制行。第一个while循环遍历结果集。如果要将数据循环两次,则需要重置数据。

相关问题