2012-03-07 161 views
1

Mysql爲我們提供了一個數據集當我們在mysql中運行select查詢時,我們使用while或for循環語句從此數據集中獲取每條記錄。我想知道當我們得到一條沒有達到循環頂部的記錄時,是否有任何函數可以獲取此數據集中的下一條記錄? 類似:如何獲取mysql結果數據集中的下一條記錄?

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

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

} 

+0

這是什麼目的?爲什麼不在下一個循環> – Hanon 2012-03-07 10:26:04

+0

中獲取值,因爲我想爲每一個設置prev和next。 – 2012-03-07 11:11:43

回答

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來達到任何目的。

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; 
    } 
} 
相關問題