2012-10-03 36 views
0

我試圖通過其通過定義()通過傳遞給一個控制器功能瀏覽各種URI段搜索產品的列表進行分頁。使用CI的uri_to_assoc()我構建了一個通過SQL查詢傳遞的密鑰對列表。然而,我試圖讓我的頭腦在這個分頁如何工作上遇到實際困難。我會舉幾個例子,希望能夠說明我的問題。笨/分頁/ uri_to_assoc()

我希望能夠瀏覽我的網站上按照類別,品牌或系列產品上市。用戶應該能夠瀏覽這些3個搜索等元素的任意組合:

的問題是,當涉及到分頁,CI總是會將此到URL的結尾。因此,根據查詢的深度,url中offset參數的位置會有所不同。

任何人任何想法如何引進與偏移的線段成這種格式,所以我總是確切地知道它在哪裏,無論其來自上面的鏈接使用的每一種組合?還要記住,在這些頁面的第一次加載時,根本不會設置偏移段,並且只會在隨後的頁面加載中出現。

我不希望有儘可能使用查詢字符串,並堅持一個url段爲基礎的方法。

謝謝。

+0

我們可以看到您當前的代碼處理分頁嗎?不知道爲什麼你需要「總是知道它在哪裏」,如果你正在使用uri_to_assoc,只需使用類似'page/4'的東西。如果你告訴我們你是如何配置的(你的實際代碼),這將是非常有用的。 –

回答

1

總是加偏移到頁面的結束,然後進行檢索:

$offset = (int) end($this->uri->segment_array()); 

類型轉換爲您提供0,如果沒有一個有效的抵消(讓你有一個基本偏移)。

來源:http://codeigniter.com/user_guide/libraries/uri.html

+0

但是,當我做到這一點,這拉成陣列的偏移成爲關鍵'陣列([類別] =>測試[品牌] =>瓦西奇+家[24] =>)' –

+0

@AdrianWalls:爲什麼這樣的問題?我們可以請你看看你當前的代碼?你不只是將整個URL轉儲到MySQL查詢中,而不是先檢查它,對嗎?只有我在這裏看到的問題是,網址看起來很奇怪,最後懸掛着一個數字,並且它可能返回'1'是否有文本值(請記住,地址欄是用戶輸入,受到與任何其他)。 –

+0

http://pastebin.com/iYygMiyU –