Php 这个循环有什么问题? $result=mysql\u查询($query); $filter=array(); 而($r=mysql\u fetch\u数组($result)) { 对于($i=0;$i

Php 这个循环有什么问题? $result=mysql\u查询($query); $filter=array(); 而($r=mysql\u fetch\u数组($result)) { 对于($i=0;$i,php,mysql,Php,Mysql,您不能前进到下一行 $result = mysql_query($query); $filter = array(); while($r = mysql_fetch_array($result)) { for ( $i = 0; $i<20; $i++) { $filter[] = $r["name"][$i]; } $name = implode(",", $filter); } 你不能前进到下一排 $result = mysql_

您不能前进到下一行

$result  = mysql_query($query);
$filter = array(); 
while($r = mysql_fetch_array($result)) 
{ 
   for ( $i = 0; $i<20; $i++)
   {  
      $filter[] = $r["name"][$i]; 
   }
   $name = implode(",", $filter); 
}

你不能前进到下一排

$result  = mysql_query($query);
$filter = array(); 
while($r = mysql_fetch_array($result)) 
{ 
   for ( $i = 0; $i<20; $i++)
   {  
      $filter[] = $r["name"][$i]; 
   }
   $name = implode(",", $filter); 
}

mysql\u fetch\u array
仅从查询结果中获取一行数据。看起来您试图从结果中仅获取一个字段,因此您需要如下内容:

$result  = mysql_query($query);
$filter = array(); 
$i = 0;
while($r = mysql_fetch_array($result)) 
{ 

    $filter[] = $r["name"][$i]; }
    $name = implode(",", $filter); 
    if(++$i == 20)
    {
        break;
    }
}
但是这是非常低效的。为什么不让MySQL自己限制行呢

$i = 0;
while($row = $mysql_fetch_assoc($result)) {
   $i++
   if ($i >= 20) {
      break;
   }
   $filter[] = $row['name'];

}
$name = implode(",", $filter);

然后,您只需要从20行开始,而不必强制mysql获取所有超过20行的数据。

mysql\u fetch\u array
只从查询结果中获取一行数据。看起来您试图从结果中仅获取一个字段,因此您需要这样的内容:

$result  = mysql_query($query);
$filter = array(); 
$i = 0;
while($r = mysql_fetch_array($result)) 
{ 

    $filter[] = $r["name"][$i]; }
    $name = implode(",", $filter); 
    if(++$i == 20)
    {
        break;
    }
}
但是这是非常低效的。为什么不让MySQL自己限制行呢

$i = 0;
while($row = $mysql_fetch_assoc($result)) {
   $i++
   if ($i >= 20) {
      break;
   }
   $filter[] = $row['name'];

}
$name = implode(",", $filter);

然后你只得到20行开始,而不强迫mysql获取所有超过20行的数据。

哦……太简单了,你是对的……我忘记了限制选项……好吧,谢谢你,manOH……太简单了,你是对的……我忘了限制选项……好吧,谢谢你