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

에서 값을 얻지 않는 이유는 각각에 대해 prev와 next를 설정하기 때문입니다. –

답변

1

(그것이 반드시이 모두 무의미이 경우 이전 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; 
    } 
} 
내가 배열로 자원을 변환하고 또한 다음 ID를 포함하는 다른 반복을 추가
관련 문제