2010-05-16 87 views

回答

2

可以使用mysql_data_seek功能:

$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如何?以相反的順序得到第一個元素的結果?這會工作嗎? (如果你只在該行有興趣,你也可以使用LIMIT 1

+0

其實我需要選擇(例如)第20行,但是如果選擇的行少於20行,我需要選擇最後一行。現在我使用LIMIT來選擇20行,並選擇最後一行通過mysql_fetch_array進行迭代。我想避免迭代 – sergtk 2010-05-16 11:05:14

+0

所以按照相反的順序排序,限制爲20,並獲得第一行。 – nc3b 2010-05-16 11:14:06

+0

如果選擇多條記錄,這將從結尾返回第20條記錄,但我需要從頭開始第20條。 – sergtk 2010-05-16 11:16:36

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)));