每页记录数允许用户选择 - codeigniter 分页

2024-04-15

我有有效的分页功能。我已将限制设置为每页 5 条记录,但我希望用户能够根据需要进行更改。问题是我不知道该怎么做。

在视图中,我创建了下拉菜单,因此用户可以选择他想要每页查看多少条记录:

 <ul class="dropdown-menu">
    <li>
        <a href="<?php echo base_url(); ?>backOfficeUsers/displayAllUsers" id="2" class="pPage" data-tableid="smpl_tbl">
        2 records per page
        </a>
    </li>
    <li>
        <a href="<?php echo base_url(); ?>backOfficeUsers/displayAllUsers"  id ="50" class="pPage" data-tableid="smpl_tbl">
        50 records per page
        </a>
    </li>
    <li><a href="<?php echo base_url(); ?>backOfficeUsers/displayAllUsers" id="100" class="pPage" data-tableid="smpl_tbl">
        100 records per page
        </a>
    </li>
    <li>
        <a href="<?php echo base_url(); ?>backOfficeUsers/displayAllUsers" id="all" class="pPage" data-tableid="smpl_tbl">
        Display all records
        </a>
    </li>
</ul>

在我的控制器中,我有以下代码:

public function displayAllUsers()
    {


        $recordsPerPage = 5;
        $limit = $recordsPerPage;
        $offset = 3;

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

        $data['users'] = $this->backOfficeUsersModel->get();

        $totalresults = $this->db->get('back_office_users')->num_rows();

        //initializing & configuring paging
        $this->load->library('pagination');
        $config['base_url'] = site_url('/backOfficeUsers/displayAllUsers');
        $config['total_rows'] = $totalresults;
        $config['per_page'] = $limit;
        $config['uri_segment'] = 3;
        $config['full_tag_open'] = '<div class="dataTables_paginate paging_bootstrap pagination"><ul>';
        $config['full_tag_close'] = '</ul></div>';
        $config['cur_tag_open'] = '<li><a href=# style="color:#ffffff; background-color:#258BB5;">';
        $config['cur_tag_close'] = '</a></li>';
        $config['num_tag_open'] = '<li>';
        $config['num_tag_close'] = '</li>';

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



        $data['main_content'] = 'bousers/users';
        $data['title'] = 'Back Office Users';
        $errorMessage = FALSE;


        $this->load->vars($data,$errorMessage);
        $this->load->vars($currentUser);
        $this->load->view('backOffice/template');


    } // end of function displayAllUsers

谁能告诉我如何显示用户从下拉菜单中选择的记录数?如果他不选择任何内容,我想默认显示 5 条记录。

任何帮助将不胜感激。

问候,佐兰


你不应该像那样下拉..试试这个

View

echo form_open('controller/displayAllUsers');
            $options = array(
                            '' => 'Select',
                             '2' => '2',
                             '50' => '50',
                             '100' => '100');
            echo form_dropdown('sel',$options,'');
echo form_submit('submit',Submit);

控制器

if(isset($post['sel']) && !empty($post['sel']))
                $config['per_page'] = $post['sel'];
                else
                $config['per_page'] = 5;

并且不要忘记加载表单助手在这样做之前..或者你可以给出正统的htmlselect box

EDIT: (其他方式)

View:

<ul class="dropdown-menu">
<li>
    <a href="<?php echo base_url(); ?>backOfficeUsers/displayAllUsers/2"  class="pPage" data-tableid="smpl_tbl">
    2 records per page
    </a>
</li>
<li>
    <a href="<?php echo base_url(); ?>backOfficeUsers/displayAllUsers/50"  class="pPage" data-tableid="smpl_tbl">
    50 records per page
    </a>
</li>
<li><a href="<?php echo base_url(); ?>backOfficeUsers/displayAllUsers/100"  class="pPage" data-tableid="smpl_tbl">
    100 records per page
    </a>
</li>
<li>
    <a href="<?php echo base_url(); ?>backOfficeUsers/displayAllUsers" id="all" class="pPage" data-tableid="smpl_tbl">
    Display all records
    </a>
</li>

控制器:

public function displayAllUsers()
{

$currentUser = $this->isLoggedIn();
$this->load->model('backOfficeUsersModel');
$this->db->order_by('userid');
//$recordsPerPage = 5;
//$limit = $recordsPerPage;
if ($this->uri->segment(3) !="") {
$limit = $this->uri->segment(3);
} else {
$limit = 5;
}

$offset = 4;

$offset = $this->uri->segment(4);
$this->db->limit($limit, $offset);

$data['users'] = $this->backOfficeUsersModel->get();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

每页记录数允许用户选择 - codeigniter 分页 的相关文章

  • 如何避免 codeigniter 缓存

    我们在 codeigniter 框架中开发了一个网站 我们面临 codeigniter 缓存问题 问题是这样的 当用户登录时 我们的标题栏信息应该是Welcome Mr xxxxx 如果用户注销 我们的标题信息应该是 Welcome Gue
  • 在 asp.net gridview 中应用引导分页样式的简单脚本

    是否有任何简单的 jquery 脚本 插件可以在 asp net gridview 中应用引导分页样式 我发现了一些关于如何执行此操作的好提示 例如以下链接 here http www programming free com 2013 0
  • CodeIgniter - 自动加载

    我想知道 CodeIgniter 自动加载的最佳实践是什么 自动加载我的所有内容是不是不好的做法might是否曾经需要过 或者可以这样做吗 这会给应用程序带来更多负载吗 目前 我只是自动加载我将在整个应用程序中使用的库和助手 autoloa
  • 未找到“GuzzleHttp\Client”类

    我同时使用Guzzle http guzzle readthedocs org en latest 并首次推出 Codeigniter 3 0 我也承认我是第一次使用 php 命名空间 我正在尝试根据文档中提供的示例使用 Guzzle 发出
  • 如何使用 codeigniter 生成 5 位字母数字唯一 ID?

    我有一个项目 需要为用户生成唯一的 5 位数字母数字 ID 我怎样才能使用 codeigniter 实现这一点 thanks 字符串助手中有一个名为 random string 的函数 this gt load gt helper stri
  • 如何对很多很多页面进行页面导航?对数页面导航

    显示许多页面的页面导航的最佳方式是什么 最初这是作为操作提示发布的 我的答案包含在问题中 我现 在将我的答案分成下面的 答案 部分 更具体 假设您要向用户显示一组记录 这些记录分为固定大小的页面 例如 Google 搜索的结果 如果只有几个
  • Python:Facebook Graph API - 使用 facebook-sdk 的分页请求

    我正在尝试向 Facebook 查询不同的信息 例如 好友列表 它工作得很好 但当然它只能给出有限数量的结果 如何获取下一批结果 import facebook import json ACCESS TOKEN def pp o with
  • 如何在android中的网格视图中进行分页? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何在 android 中对 gri
  • stdClass 类的对象无法转换为字符串

    我现在在使用 PHP 时遇到问题 收到此错误 Object of class stdClass could not be converted to string当我在我的网站中运行这部分代码时发生错误 function myaccount
  • 如何为codeigniter项目完美设置虚拟主机?

    我正在尝试为 codeigniter 项目制作虚拟主机 我已经在 httpd vhosts conf 中完成了此操作
  • CodeIgniter 中的多条件 WHERE 子句

    我想删除核心 PHP 中的一些数据 例如这个查询 WHERE user id id AND sender id send id OR user id send id AND sender id id 所以我在 CodeIgniter 中使用
  • Codeigniter - 错误 - 没有要更新的数据

    我本来要更新数据库 但收到错误 没有要更新的数据 这是我的脚本 我创建了一个简单的切换来更新数据库 切换使用户处于活动状态 is active 1 或非活动状态 is active 0 我遇到的问题是 虽然对象从 1 更改为 0 或 0 更
  • 在 Codeigniter 中加载 javascript

    对于我们的 Code Igniter 应用程序 我们在结束 body 标记之前加载所有 javascript 所以在我们的控制器中我们有 this gt load gt view head this gt head this gt load
  • Codeigniter:无法使用提供的设置连接到数据库服务器

    我使用 codeigniter 作为 cms 框架 如果数据库主机名是 localhost 它可以正常工作 db default hostname localhost db default username root db default
  • jquery javascript 在 codeigniter 中不起作用

    大家好 感恩节快乐 我在将此脚本包含在 codeigniter 中时遇到一些问题
  • MPDF 未定义索引错误

    我正在使用 MPDF 库将 HTML 转换为 PDF 这是我的代码 HTML HTML CONTENT GOES HERE HTML STRING MPDF gt WriteHTML html Converting MPDF gt Outp
  • CodeIgniter:使用多维 POST 数据验证表单

    所以框架是CodeIgniter 2 0 2 我有一个表单 其中包含与数据库中的行相对应的字段组 字段名称的格式为 opt 0 foo opt 0 bar opt 1 foo opt 1 bar etc 索引 1 2等 并不对应于数据库中的
  • 如何更改 Codeigniter 中的配置文件路径?

    我使用 Codeigniter 框架 你知道当我尝试加载配置文件然后使用它时 我做了类似的事情 this gt load gt config myconfig TRUE myconfig php 文件位于应用程序文件夹内 applicati
  • 如何在 HTML 表格上使用分页?

    我正在尝试使用这个分页library http flaviusmatis github io simplePagination js 在我的 HTML 表格页面 特别是浅色主题 中 但不知何故 我无法理解如何在我的 HTML 页面中以这种方
  • CouchDB 中的分页?

    我将如何实现分页所需的查询 基本上 当请求第 1 页时 获取前 5 个条目 对于第 2 页 获取接下来的 5 页 依此类推 我计划通过 couchdb python 模块使用它 但这不会对实现产生任何影响 The CouchDB 指南 ht

随机推荐

  • 如何查找 MASSIVE 数组中哪些项出现多次?

    这是一个非常简单的问题 哪些项目在列表中出现多次 array mike mike mike john john peter clark 正确答案是 mike john 看来我们只能这样做 array select e ary count e
  • Fabric js 中的 Canvas 客户端大小

    在通常的画布CSS宽度和客户端宽度可能不等于彼此 如何在Fabricjs上得到这个 举个例子 我想在页面上使用 640 360px 的画布 里面有 1280 720px 的图像 我知道我可以缩放图像 但 dataUrl 会给我一个较小的图片
  • 仅处理天数时,“datetime.timedelta”和“dateutil.relativedelta.relativedelta”之间有什么区别?

    有什么区别datetime timedelta http docs python org library datetime html timedelta objects 来自Python的标准库 和dateutil relativedelt
  • 按最大(时间)mysql分组

    首先 这有点重复 按最大日期分组 https stackoverflow com questions 18221999 group by having max date 18222124 noredirect 1 comment385131
  • 用 t 个随机数生成位向量

    我想生成一个数组 向量v大小的p with t那些和p t零 的位置t ones must是随机的 这是我迄今为止编写的解决方案 但我不确定它是否是最有效的解决方案 另外我从来没用过random device or mt19937 找到他们
  • 带分钟的 DATEDIFF 不返回预期值

    假设我有以下包含数据的 SQL Server 2008 表 CREATE TABLE tbl dtIn DATETIME2 dtOut DATETIME2 INSERT tbl VALUES 9 10 2012 5 14 10 AM 9 1
  • 如何让Stata在表格中报告零

    我正在尝试使用tabulateStata 中的命令创建频率时间序列 当我尝试合并输出时 问题就出现了tabulate运行完每个日期后 tabulate当相关变量的值不存在观察值时 不会将 0 作为条目包含在内 例如 如果我想在三年内统计一个
  • 整数或布尔值的 TensorFlow 占位符变量不起作用

    我在 TensorFlow 中使用以下代码片段有条件地从一个或另一个源提取数据 if name main with tf device gpu 0 with tf Graph as default with tf variable scop
  • 二元矩阵查找距离为 k 的所有单元格

    我有一个二进制矩阵0 and 1 并给定整数 K gt 0 现在我想找到所有可能的单元格 这些单元格与具有该值的单元格的最大距离为 K1并将它们标记为某个字母 x 单元格 A 5 2 和 A 1 4 之间的距离为 1 5 4 2 6 Exa
  • Maven 2 可以在同一项目中使用两个不同版本的构建插件吗?

    我的项目需要新版本的 Maven 构建插件的功能some的目标 但新版本在其他目标之一上失败了 由于插件中的错误 作为修复错误之前的解决方法 我想使用旧版本的插件运行损坏的目标 Edit 更具体地说 我需要使用 gwt maven plug
  • Typescript 接口中的日期在检查时实际上是字符串

    不幸的是 重现这个问题的总代码会很广泛 所以我希望我的问题是显而易见的 我可以轻松提供 如果需要 我会发布更完整的解决方案 首先 我定义一个接口 export interface ITest myDate Date 然后我创建一个数组用于测
  • 宽度和高度似乎不适用于:在伪元素之前

    Here http jsfiddle net C7rSa 是一把小提琴 p foo a class infolink href bar a baz p and a infolink before content background blu
  • C# 有没有办法设置控制台应用程序的滚动位置

    你好 我已经在谷歌上搜索这个问题很长一段时间了 但找不到任何关于我将如何做这件事的结果 我目前有一个选择菜单 用户可以从中选择选项列表 该菜单从顶部开始 但每次刷新列表时窗口都会显示最后一个选项 我想要做的就是能够在窗口中显示带有所选选项的
  • 如何将 bash 脚本变量与 sed 一起使用[重复]

    这个问题在这里已经有答案了 我执行以下 bash 脚本 bin bash version 1 echo version sed s version number version template txt gt readme txt 我希望用
  • 设置今日扩展小工具的通知

    我正在创建一个简单的计时器应用程序 它将重点关注今天的扩展小部件功能 用户可以通过点击从此处启动计时器 唯一的问题是我需要从小部件设置本地通知 我尝试使用 UIApplicaton sharedApplication ScheduleLoc
  • 按组填写缺失日期

    我有一个数据集 如下所示 shop id item id time value 150 1 2015 07 10 3 150 1 2015 07 11 5 150 1 2015 07 13 2 150 2 2015 07 10 15 150
  • 使用 JUnit 中的 Blobstore

    我正在尝试测试一些使用 Blobstore API 的代码 但我并不真正了解如何将一些文件放入 Blobstore 中 以下内容不起作用 private BlobKey createBlob String path throws Excep
  • 如何使用 HttpClient 解决 .Net4.0 与 .Net4.5 中 Uri 和编码 URL 的差异

    Uri Net4 0 与 Net4 5 中的行为不同 var u new Uri http localhost 5984 mycouchtests pri test 2F1 Console WriteLine u OriginalStrin
  • Postgres 动态创建序列

    我正在编写一个应用程序 其中有多个用户 用户可以在应用程序内上传报告 目前 我有一个 报告 表 其中包含所有提交的报告 其中有一个 id 字段 该字段是表上的序列主键 我指定的要求是 用户需要能够指定其报告开始计数的前缀和数字 例如 用户应
  • 每页记录数允许用户选择 - codeigniter 分页

    我有有效的分页功能 我已将限制设置为每页 5 条记录 但我希望用户能够根据需要进行更改 问题是我不知道该怎么做 在视图中 我创建了下拉菜单 因此用户可以选择他想要每页查看多少条记录 ul class dropdown menu li a h