【问题标题】:CodeIgniter Pagination for two different database results两个不同数据库结果的 CodeIgniter 分页
【发布时间】:2015-02-26 10:22:03
【问题描述】:

我有两个查询结果,一个课程列表和一个用户配置文件列表。这些查询彼此不相关。

我想在同一视图中显示课程和用户资料。如何为每个查询设置 LIMIT 和 OFFSET 以便分页正常工作?

那么分页 $config 的值是什么样的?

我试过了!

我的模型中有一个名为 tabel_list() 的方法,它返回记录和返回的记录总数。

对于课程:

$rows = $this->main_model->tabel_list($this->limit , $this->uri->segment(3), $joins, $order_by, $table, $select_fields, $condit, $group_by);

$data['total_rows'] = $rows['rows']['total'];
$records = $rows['list'];
$data['products'] = $records;

对于用户个人资料:

如果情况属实,请同时检索视图的用户配置文件。

$data['tutors'] = $tutor_records['list'];
$individual_rows = $tutor_records['rows']['total'];
$final_num_rows = $rows['rows']['total'] + $individual_rows;
$data['total_rows'] = $final_num_rows;

配置:

$config['total_rows'] = $data['total_rows'];
$config['base_url'] = base_url() . "home/courses/";
$config['per_page'] = $this->limit;
$config['uri_segment'] = 3;

一个视图中有两个结果集并使用一个分页。帮忙?

【问题讨论】:

  • 什么不起作用?
  • 如何在同一个视图上有两个不同的分页集?没有任何意义。点击第2页获取第一组数据,然后页面重新加载第1组的第2页后,第二组数据应该显示什么?
  • @Sparky 如果您阅读了这个问题,我已经解释了在同一页面上包含两组结果的必要性。课程和用户资料列表。这些结果来自两个不同的查询。我找到了解决方案。你可以看看我的回答。
  • @Simo 我无法在一个视图中容纳两组查询结果。在某些情况下,用户可能只想查看课程列表或个人资料。我将每个查询偏移量设置为 20。如果我的 config['per_page'] = 20,并且需要从两个查询结果中显示结果,我无法将两个结果都容纳到一个视图和一个分页中。如果用户只想要一种类型的结果,它就可以工作。检查我的答案。 :)

标签: php codeigniter pagination limit offset


【解决方案1】:

两个想法:

在页面上放置两个分页,每个表格一个。

用空行填充较小的表,并为您的限制进行后期计算 查询。

但听起来,你的问题是在输出和分页之前。

【讨论】:

    【解决方案2】:

    所以,这就是我的问题的解决方案。

    我希望在一个视图中显示两组结果。 我希望在一页中显示 20 条记录。所以,

    $config['per_page'] = 20
    

    如果用户只想要课程列表,则只运行一个查询,否则将显示两个查询结果。查询的偏移量应该是多少?

    好吧,一个简单的条件检查/标志可以确定用户是否想要两组结果,如果他/她确实想要两组结果,请将当前页面索引除以 2。所以每个结果将有 10 个结果页面上设置。

    if(user wants two sets of results on the same page))
            { 
                $offset = $this->uri->segment(3) / 2;
            }
    

    如果用户只想要一组结果,

    $offset = $this->uri->segment(3);
    

    现在在您的数据库查询中使用 20 的限制和这个 $offset。

    希望这对某人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-17
      • 1970-01-01
      • 1970-01-01
      • 2014-03-26
      • 2014-09-21
      相关资源
      最近更新 更多