Php 移动mysql\u获取\u数组指针
如何在while循环中移动mysql\u fetch\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 ($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——它是左、右、左、右等等。?所以我认为我建议的代码可以做到这一点。