【问题标题】:getting pagination to work让分页工作
【发布时间】:2014-05-09 07:07:55
【问题描述】:

我正在开发一个基于 MVC codeigniter 的项目。我当前的设置是这样的,它根据以下查询(../models/mode.php)在一个页面中最多显示 10 个表

 $function getlist($time) 
   {
  $query = $this->db->query('select * from (select job, username,test from jobs  by    time desc  limit 10 ) as a order by time desc');
 .....
 }

查询工作正常,并在页面中显示 10 个表。虽然数据库有超过 10 个条目,但我想在每个页面中放置 10 个表并合并分页,以便我可以在 10 个不同的页面中看到所有 100 个结果。

在控制器中,我有一块我正在尝试使用分页库但没有帮助。

            $this->load->library('pagination');
            $config['base_url']= 'http://localhost/pc/index.php/proj/submit/';
            $config['uri_segment'] =5;
            $config['total_rows']= 100;
            $config['per_page'] = 10;

            $this->pagination->initialize($config);
            echo $this->pagination->create_links();

它所做的只是创建链接,但不允许我遍历不同的页面(当然它会因为控制器不知道它)。我认为限制需要有一个开始和结束值,比如 0,100 或开始,结束,但我怎样才能让控制器知道同样的情况。任何反馈/建议?我是 MVC 世界以及 php/mysql 的新手。

【问题讨论】:

  • 看起来您使用的不是第 5 段,而是第 3 段。为什么$config['uri_segment'] = 5
  • 因为基本 url 有 5 个段(localhost、pc、index.php、proj 和 submit)?有什么缺陷吗?这就是我从http://ellislab.com/codeigniter/user-guide/libraries/pagination.html 得出的结论
  • 一点也不,那些不是细分!段是index.php 之后的位,所以proj/submit 是段 1 和 2
  • 啊哈,在这种情况下,我认为 uri_segment 将是 3。

标签: php mysql codeigniter pagination


【解决方案1】:

您必须在模型中处理分页:

$function getlist($time, $start, $limit) 
{
  $query = $this->db->query('select * from (select job, username,test from jobs  by    time desc  limit 10 ) as a order by time desc limit '. $limit .', '. $start);
 .....
}

在你的控制器中:

// Get pagination page    
$page = ($this->uri->segment(5))? $this->uri->segment(5) : 0;

$data = $this->mode_model->getlist($time, $config["per_page"], $page);

【讨论】:

  • $limit 和 $start 定义在哪里。
  • 顺便说一句,上面的编辑,现在页面似乎没有显示任何东西。
【解决方案2】:

试试这个

$config['uri_segment'] =3;

【讨论】:

  • 这可能会解决问题,但如果它解释了它的作用以及为什么它是问题的答案,它会更有用。
  • uri_segment 只是为了在URL的哪个段中具有分页功能。正如我之前的评论所述。
猜你喜欢
  • 2011-09-13
  • 1970-01-01
  • 1970-01-01
  • 2014-09-10
  • 1970-01-01
  • 1970-01-01
  • 2013-02-06
  • 1970-01-01
  • 2012-01-06
相关资源
最近更新 更多