2012-03-07 8 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

+0

で値を取得してみてください。なぜなら、それぞれ前と次を設定したいからです。 –

答えて

1

私は(それは必ずしもこれは全て無意味である場合には、以前のID + 1ではないと仮定して)アレイにあなたのリソースを変換しても、次のIDを含む別の反復を追加します。

$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; 
    } 
} 
関連する問題