2011-08-18 61 views
0

我在我的網站上有一個名爲「查看朋友」的功能,顯示包含用戶朋友的隱藏div。到目前爲止唯一的問題是我希望它能顯示3行7個成員,每個頁面總共有21個成員。我知道我必須召集NumOfMembers/21給我所需的頁面。我只需要一些建議,我應該如何從SQL查詢獲得所有朋友時設置分頁。有任何想法嗎?朋友列表分頁

回答

1

的SQL查詢應該使用limitoffset參數分頁,根據頁面上ň你對,是這樣的:

SELECT .... LIMIT 21 OFFSET n*21 

當處理結果,只需使用在被投入用於確定您當前的結果具有行和列操作:

// where $i is the result number 
$row = $i % 7; 
$line = $i % 3; 
+0

感謝您的解釋,我現在理解這個概念謝謝。 – Unleashed

0

你有2種選擇:

首先,您可以在一個查詢中加載所有來自php的內容,並將所有用戶放入數組(內容)中,並只顯示在頁面中!

content = []; 
max = 21; 

function handlePaginationClick(page, pagination_container) { 

    $('#MyContentArea').empty(); 
    for(var i=0;i<max;i++) { 
     if(null!=content[(page*max)+i]) $('#MyContentArea').append(content[(page*max)+i]); 
    } 
    return false; 
} 
$("#News-Pagination").pagination(content.length, { 
     items_per_page:max, 
     callback:handlePaginationClick 
}); 

你可以使用jQuery分頁:https://github.com/gbirke/jquery_pagination#readme 了點。

另一種方法仍然使用jquery分頁,但不是一次加載所有內容!那麼您必須在方法'handlePaginationClick'中使用相同的ajax調用來提取所有頁面信息。

+1

我猜只是在開始時做一個查詢以獲得所有朋友,並且使用JQuery進行分頁會比每次選擇下一個頁面時發出ajax請求更有效? – Unleashed

+0

我用過的插件在http://plugins.jquery.com/project/combogrid – mozillanerd

+0

中有描述我的意思是!如果你沒有5000用戶應該沒問題!也更容易解決!只需複製我的代碼,改變一下!你準備好了! –