2010-05-16 8 views

답변

2

당신은 mysql_data_seek 기능을 사용할 수 있습니다 (해당 행에만 관심이 있다면, 당신은 또한 LIMIT 1을 사용할 수 있습니다) :

$result = mysql_query($query); 
$row_num = mysql_num_rows($result); 
if (mysql_data_seek($result, $row_num - 1)) { 
    $row = mysql_fetch_assoc($result);  
    ... 
} 
mysql_free_result($result); 
4

어쨌든 ORDER- 결과를 역순으로 바꾸고 첫 번째 요소를 가져 오는 방법은 무엇입니까? 그게 효과가 있니?

+0

내가 필요 20 번째 행을 선택하십시오. 그러나 20 개 미만의 행이 선택된 경우 마지막 행이 선택되어야합니다. 이제 LIMIT을 사용하여 20 개의 행을 선택하고 mysql_fetch_array를 통해 마지막 행을 반복 선택합니다. 그리고 iterating 반복을 피하기 위해 싶습니다 – sergtk

+0

그래서 그것을 역순으로 정렬, 제한 20, 첫 번째 행을 얻을. – nc3b

+0

많은 레코드가 선택된 경우 끝에 20 번째 레코드가 반환되지만 처음부터 20 번째 레코드가 필요합니다. – sergtk

0

은 또는, 더 간단이 :

사실
$count=mysql_num_rows(mysql_query("SELECT * FROM whatever")); 
$query="SELECT * FROM whatever LIMIT ".($count-1).", 1"; 
print_r(mysql_fetch_array(mysql_query($query))); 
관련 문제