2012-07-20 57 views
1

所以基本上,這是我的分頁查詢看起來像此刻:PHP尋呼MYSQL_QUERY

$limit = mysql_escape_string($_GET['pagenumber']); 
    if (empty($limit)){ 
    $limit = "1"; 
    } 

    $page = $limit * 10; 
    $flim1 = $page/10; 
    $flim = $page - 10; 

在我的查詢結束後,我有這樣的:

... LIMIT $flim, $page 

應如果頁碼爲1,則爲10,如果頁碼爲2,則爲20。它在第一頁完美地工作,但是當我到達第二頁時,有20個結果,但是當我回顯$ flim和$ page時,他們是10和20.我不明白爲什麼!

我聽說過一些關於分頁的雙重查詢。如果你知道一個簡單的方法來做到這一點,請點擊鏈接。我的方法會工作嗎?

回答

6

請參閱的LIMIT規格有LIMIT offset,count 所以在您的情況這將是LIMIT $flim,10

全碼:

$page = mysql_escape_string($_GET['pagenumber']); 
if (empty($limit)){ 
$page = "1"; 
} 
$items_per_page=10; 
$offset = ($page-1)*$_items_per_page; 

然後LIMIT $offset,$items_per_page

此外,你需要計算所有項目沒有得到以上最大頁

+0

也,如果你做1,10和10,20(或10,10)你會顯示項目#10兩次 – MrGlass 2012-07-20 01:00:15

+0

是的 - 我剛剛更正了我的答案,以便更清楚 – 2012-07-20 01:02:01

+0

呃,他在他原來的問題中犯了錯誤。只需要指出。 – MrGlass 2012-07-20 01:15:26