我还在学习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"><</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上做。
答案 0 :(得分:1)
更改
$config['uri_segment'] = 4;
至
$configpages['uri_segment'] = 4;