我尝试使用多个搜索条件实现分页。
假设我有学生表。当学生列表显示时,我也使用分页。
分页链接是。 site_url . '/student/page/';
所以我使用$config['uri_segment'] = 1
;
所以分页链接将是
<a href="http://mysite/index.php/student/page/0">1</a>
<a href="http://mysite/index.php/student/page/1">2</a>
和儿子。
之后,我想使用文本字段实现的3个搜索条件搜索学生数据。
id name address.
用户可以按ID或名称或地址或三个标准的组合进行搜索。 网址变成了
http://mysite/index.php/student/page/0
href=http://mysite/index.php/student/page/1
和儿子。
但我使用get方法进行搜索。在尝试使用搜索条件字段进行搜索时,网址变为
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
或者您是否有最佳实践来解决此问题?
嗨phill .... 我试过你的建议。
$array = array('id' => '001', 'name' => 'a', 'address' => 'canada');
网址变成了
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');
和网址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');
那怎么样......?或者如果还有其他最佳做法?
答案 0 :(得分:1)
为此我会使用$ this-&gt; uri-&gt; uri_to_assoc():
的index.php /用户/搜索/名称/乔/位置/ UK /性别/男性
使用此功能可以转动 使用URI将URI转换为关联数组 这个原型:
[array]
(
'name' => 'joe'
'location' => 'UK'
'gender' => 'male'
)
请参阅完整文档here。
你仍然可以使用page / 1作为第一批,然后使用/ name /之后的任何内容。
答案 1 :(得分:0)
Actualy,我们可以创建多个无限制标准的分页。阅读http://dengkul.com/2010/07/08/codeigniter-pagination-with-multiple-unlimited-searching-criteria/