在CodeIgniter上的url中有2个变量时出现分页错误

时间:2011-09-28 10:08:15

标签: codeigniter pagination codeigniter-url

我还在学习CodeIgniter框架。今天,我发现自己面临着分页的问题。

实际上我可以通过id访问数据,这需要在url中使用变量,而另一个需要在分页中使用。

这是我的foos_by_day函数(这不是真名,只是一个例子)在我的控制器foo中,它返回特定日期的foos数组。 这些foos来自我的数据库,并通过名为model_foos的模型转到我的控制器get_foos_by_day($ day)。

function foos_by_day($day) {
    $configpages['base_url'] = 'http://www.exemple.com/ci/index.php/foo/foos_by_days/'.$foo."/";
    $configpages['total_rows'] = count($this->model_foos->get_foos_by_day($foo));
    $configpages['per_page'] = 10;
    $config['uri_segment'] = 4;

    $this->pagination->initialize($configpages);
    $data['foos'] = $this->model_foos->get_foos_by_day($jour, (int)$this->uri->segment(4), $configpages['per_page'] );

    $this->load->view('foo_view.php', $data);
}

这是我的观点:

<?php foreach ($foos as $element): ?>
    <div>
    Name of the foo : <?=$element->name?><br />
    Date of the foo : <?=$element->date?><br />
    </div>
<?php endforeach; ?>
<?php echo $this->pagination->create_links(); ?>

我在输入时看到了一些奇怪的内容:http://www.example.com/ci/index.php/foo/foos_by_day/2011-09-28/

我的32个foos的编号从4开始(最后一页)。它每页正确显示10个foos,但当我点击另一个页面时,所选页面保持第四个。 此外,页码后面的链接给了我以下声明:

<a href="http://www.example.com/ci/index.php/foo/foos_by_day/2011-09-28/">First</a>
<a href="http://www.example.com/ci/index.php/foo/foos_by_day/2011-09-28/20">&lt;</a>
<a href="http://www.example.com/ci/index.php/foo/foos_by_day/2011-09-28/10">2</a>
<a href="http://www.example.com/ci/index.php/foo/foos_by_day/2011-09-28/20">3</a>
<strong>4</strong>

所以:没什么,那么20,10和20(再次)。简而言之,分页中存在一个错误。

您是否遇到过这种情况(出现分页错误)?如果是这样,你是如何解决的? 您认为我应该如何进行定期分页?

提前致谢。

P.S。 :我没有删除index.php文件,但我学会了在其他CodeIgniter上做。

1 个答案:

答案 0 :(得分:1)

更改 $config['uri_segment'] = 4;$configpages['uri_segment'] = 4;