Php 移动mysql\u获取\u数组指针

Php 移动mysql\u获取\u数组指针,php,mysql,Php,Mysql,如何在while循环中移动mysql\u fetch\u数组指针? 大概是这样的: while ($subject = mysql_fetch_array($subject_qry)) { $output = "<div class=\"left\" id=\"{$subject['id']}\"></div>"; next($subject); $output = "<div class=\"right\" id=\"{$subject['id'

如何在while循环中移动mysql\u fetch\u数组指针? 大概是这样的:

 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;
    }
$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;
}
while($subject=mysql\u fetch\u数组($subject\u qry))
{
$output=“”;
下一步(主题);
$output=“”;
返回$output;
}

从数据库提取数据时,不能执行此操作。您尚未使用
mysql\u fetch\u array()
读取下一行,因此不能直接跳到下一行

您必须首先用所有结果填充一个数组,才能操作数组的“索引”。或者,您可以在循环中执行一个附加的
mysql\u fetch\u array()
,以读取下一行。

如何:

$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 ++;
}
$counter=0;
而($subject=mysql\u fetch\u数组($subject\u qry))
{
如果($counter%2==0)
{
$output=“”;
}
其他的
{
$output=“”;
}
//在此处使用$output执行某些操作。。。
$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;
}
$left=true;
而($subject=mysql\u fetch\u数组($subject\u qry))
{
如果(左)
{
$output=“”;
}
其他的
{
$output=“”;
}
//在此处使用$output执行某些操作。。。
$left=!$left;
}

关于您的示例,有几件事没有意义。首先,在检索结果时,不能将名称与mysql\u fetch\u数组一起使用。Mysql_fetch_数组使用数字索引,而不是列名。其次,在循环while语句中不返回值。您可以构建一个字符串,也可以在循环过程中进行回显

你有没有试过这样的方法:

 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;
    }
$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;
}
$counter=1;
而($subject=mysql\u fetch\u数组($subject\u qry)){
回声“;
mysql_data_seek($subject_qry,$counter);
$subject=mysql\u fetch\u数组($subject\u qry);
回声“;
$counter=$counter+2;
}

请停止使用古老的
mysql.*
函数编写新代码。它们不再得到维护,社区已开始恢复。相反,你应该学习并使用或。如果你不能决定,将帮助你做出选择。如果您想学习,。我正在尝试获取$subject中的下一行,$计数器如何移动指针?我想这取决于您试图实现的目标。如果你只想用偶数行做一件事,用奇数行做另一件事,那么我的代码就能解决这个问题。如果不是这样,让我们知道你想做什么。。。例如,为什么要将指针移到?$subject\u qry从数据库检索10个类别,我想将它们左右浮动。(class=“left”)Right——它是左、右、左、右等等。?所以我认为我建议的代码可以做到这一点。