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'];
......
}
...
答案 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;
}
}