如何通过分页链接发送变量值?

时间:2013-08-21 03:10:22

标签: codeigniter pagination

解决 的 我试图在主页上创建分页。

我的默认控制器:

$route['default_controller'] ="home";

问题1:  如果我写的是分页 -

$config['base_url'] = base_url() . 'home/index'; // index function
$config['uri_segment'] = 3;
$config['per_page'] = 10;
$limit = array($config['per_page'] => $this->uri->segment(3));

然后它可以工作,但它在浏览器地址栏上显示'localhost / baseurl / home / index / 10'。我想只显示'localhost / baseurl / 10'(而'localhost / baseurl /'是我的主页,我想在那里分页。)我写了

$config['base_url'] = base_url(); // index function
$config['uri_segment'] = 1;
$config['per_page'] = 10;
$limitt = array($config['per_page'] => $this->uri->segment(1));

但这不起作用。我怎么能这样做?

问题2:

如何通过分页链接发送变量值 本地主机/ baseURL时/家/索引?搜索= Y / 10

我写道:

$config['base_url'] = base_url() . 'home/index?search=y';

但这不起作用。它会收到search=y/10y

不仅10且分页未找到$this->uri->segment(3))

那么这样做的正确方法是什么?

修改

我的htaccess代码是: -

<IfModule mod_rewrite.c>

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./mysite/index.php [L]

</IfModule>

此代码显示我的网站地址,如'localhost / mysite /'。但是如果我设置了分页的基本网址,如

$config['base_url'] = base_url();
$config['uri_segment'] = 1;
$config['per_page'] = 10;
$limitt = array($config['per_page'] => $this->uri->segment(1));

然后数字显示在分页链接上,如'localhost / mysite / 10',但脚本未收到值'10'。如果我写 -

$config['base_url'] = base_url().'home/index';  // 'index' is the function in 'home' class
$config['uri_segment'] = 3;
$config['per_page'] = 10;
$limitt = array($config['per_page'] => $this->uri->segment(3));

然后它可以工作,但浏览器地址行变成'localhost / mysite / home / index / 10',我不喜欢。什么是解决第一个问题的方法?

1 个答案:

答案 0 :(得分:0)

对于第一个问题,您必须在第一个评论中定义rewrite rule 对于第二个问题,请这样做,

if($this->uri->segment(3)){
    $keyword = $this->uri->segment(3);
}
else if($this->input->get('search')){
    $keyword = $this->input->get('search');
}

$config['base_url']     = base_url().'home/index/'.$keyword.'/page/';
$config["uri_segment"]  = 5;