我試圖使用多個搜索條件來實現分頁。 假設我有學生表。當學生列表顯示時,我也使用分頁。 分頁鏈接是。 site_url . '/student/page/';
所以我用$config['uri_segment'] = 1
; 所以分頁鏈接將是如何在codeigniter中使用多個搜索條件實現分頁
<a href="http://mysite/index.php/student/page/0">1</a>
<a href="http://mysite/index.php/student/page/1">2</a>
和兒子。
之後,我想使用3個使用textfield實現的搜索條件來搜索學生數據。
id name address.
用戶可以通過id或名稱或地址或三個標準的組合進行搜索。 url變成
http://mysite/index.php/student/page/0
href=http://mysite/index.php/student/page/1
和兒子。
但我使用get方法進行搜索。並嘗試使用搜索條件字段搜索時,url變爲
href="http://mysite/index.php/student/page/1?id=1&name=a&address=b
當我嘗試根據條件創建分頁時發生問題。因爲分頁鏈接都包含查詢字符串 我不知道如何創建成爲
href="http://mysite/index.php/student/page/0?id=1&name=a&address=b
href="http://mysite/index.php/student/page/1?id=1&name=a&address=b
或者你有解決這個問題的最佳做法?
爲了解決這個問題,我嘗試使用$this->uri->uri_to_assoc()
。首先,我爲分頁鏈接創建數組asocc。
$array = array('id' => '001', 'name' => 'a', 'address' => 'canada');
的URL成爲 id/001/name/a/address/canada
。我使用$this->uri->uri_to_assoc()
函數來獲取段的關鍵和值。
array (
id => 001,
name=>a,
address=>canada
)
但是雖然有一些搜索條件,而不包括搜索時。比方說,用戶只能按名稱和地址搜索。該陣列成爲 $array = array('id' => '', 'name' => 'a', 'address' => 'canada');
和URL id/name/a/address/canada
assoc命令陣列成爲
array (
id => name,
a=>address,
canada=>
)
assoc命令陣列不再雜亂無章。所以我無法獲得assoc數組的正確值。 我想我會設置標識符的搜索條件,如果不包括在內。假設我把#
。
if isset($_GET['id']) then
$id = '#'
else
$id = $_GET['id']
$array = array('id' => $id, 'name' => 'a', 'address' => 'canada');
那怎麼樣......?或者如果還有其他最佳做法?
謝謝