如何在while循环中间移动mysql_fetch_array指针? 像这样的东西:
while ($subject = mysql_fetch_array($subject_qry))
{
$output = "<div class=\"left\" id=\"{$subject['id']}\"></div>";
next($subject);
$output = "<div class=\"right\" id=\"{$subject['id']}\"></div>";
return $output;
}
答案 0 :(得分:1)
这个怎么样:
$counter = 0;
while ($subject = mysql_fetch_array($subject_qry))
{
if ($counter % 2 == 0)
{
$output = "<div class=\"left\" id=\"{$subject['id']}\"></div>";
}
else
{
$output = "<div class=\"right\" id=\"{$subject['id']}\"></div>";
}
// do something with $output here...
$counter ++;
}
或者你可以用布尔值实现相同的结果:
$left = true;
while ($subject = mysql_fetch_array($subject_qry))
{
if ($left)
{
$output = "<div class=\"left\" id=\"{$subject['id']}\"></div>";
}
else
{
$output = "<div class=\"right\" id=\"{$subject['id']}\"></div>";
}
// do something with $output here...
$left = !$left;
}
答案 1 :(得分:1)
有一些事情对你的例子没有意义。首先,在检索结果时,不能使用mysql_fetch_array的名称。 Mysql_fetch_array使用数字索引,而不是列名。其次,您不会在循环while语句中返回值。你要么建立一个字符串,要么在你进行循环时回显它。
你有没有试过这样的事情:
$counter = 1;
while ($subject = mysql_fetch_array($subject_qry)) {
echo "<div class=\"left\" id=\"{$subject[0]}\"></div>";
mysql_data_seek($subject_qry,$counter);
$subject = mysql_fetch_array($subject_qry);
echo "<div class=\"right\" id=\"{$subject[0]}\"></div>";
$counter=$counter+2;
}
答案 2 :(得分:0)
从数据库中提取数据时,无法执行此操作。您尚未阅读mysql_fetch_array()
的下一行,因此您不能跳到下一行。
您必须先填充一个包含所有结果的数组来操作数组的“索引”。或者,您可以在循环中执行额外的mysql_fetch_array()
来读取下一行。