如何在mysql结果数据集中获取下一条记录?

时间:2012-03-07 10:17:07

标签: php mysql dataset

Mysql为我们提供了一个数据集当我们在mysql中运行select查询时,我们使用while或for循环语句来获取此数据集中的每条记录。我想知道当我们得到一个没有达到循环顶部的记录时,是否有任何函数可以获取此数据集中的下一条记录? 类似的东西:

$result = mysql_query("SELECT * FROM table1");
while ($row = mysql_fetch_array($result)) {

 $currentId = $row['id'];
 $nextId = mysql_fetch_next()['id'];
 ......

}

...

2 个答案:

答案 0 :(得分:1)

我会添加另一个迭代,将您的资源转换为数组,并且还包含下一个ID(假设它不一定是之前的ID + 1,在这种情况下,这一切都毫无意义):

$recordset = array(); $i = 0;
while ($row = mysql_fetch_assoc($result))
{
    $recordset[$i] = $row;
    if ($i > 0) { $recordset[$i-1]['nextid'] = $row['id']; }
    $i++;
}

然后你可以将$ recordset用于任何目的。

答案 1 :(得分:0)

$result = mysql_query("SELECT MAX(id) FROM `table1` GROUP BY id");

if(mysql_num_rows($result) > 0){
    while($row = mysql_fetch_array($result)){
        $next = $row['MAX(id)'] + 1;
    }
}