带有自定义 mysql 查询的 Codeigniter 4 分页
Codeigniter 4 pagination with custome mysql query
在我的 Codeigniter 4 项目中,我使用 $db->query('select * from myTable')
方法获取数据。 (直接在没有模型的控制器上使用)
有没有办法用 Codeigniter 为这种东西初始化分页。我是 Codeigniter 4 的新手,没用过 $this->pagination->initialize($config);
它说 Call to undefined method CodeIgniter\Pager\Pager::initialize()
有没有办法在不使用模型的情况下解决这个问题,我参考了文档 (CI4) 并做了很多 google 搜索,但仍然没有运气!
基本上在查询函数中你可以传递你需要的东西。所以,只需添加 LIMIT 和 OFFSET。
$db->query('SELECT * FROM myTable LIMIT 5 OFFSET 0');
所以这个查询应该 return 5 项,从 0 开始。LIMIT 表示您需要多少项,OFFSET 表示您要开始查找的位置。
您提到,您正在构建分页,因此您可以设置变量,从请求中获取限制和偏移量。因为params在不同的页面应该是不同的。使用类似这样的东西。
$limit = $this->request->getPost('limit');
$offset = $this->request->getPost('offset');
$this->db->query("SELECT * FROM `kss_filepaths` LIMIT $limit OFFSET $offset");
但是,请尽量避免在生产中使用这样的代码,因为 LIMIT 子句容易受到 SQL 注入的攻击,您可以阅读更多相关信息 Here
在我的 Codeigniter 4 项目中,我使用 $db->query('select * from myTable')
方法获取数据。 (直接在没有模型的控制器上使用)
有没有办法用 Codeigniter 为这种东西初始化分页。我是 Codeigniter 4 的新手,没用过 $this->pagination->initialize($config);
它说 Call to undefined method CodeIgniter\Pager\Pager::initialize()
有没有办法在不使用模型的情况下解决这个问题,我参考了文档 (CI4) 并做了很多 google 搜索,但仍然没有运气!
基本上在查询函数中你可以传递你需要的东西。所以,只需添加 LIMIT 和 OFFSET。
$db->query('SELECT * FROM myTable LIMIT 5 OFFSET 0');
所以这个查询应该 return 5 项,从 0 开始。LIMIT 表示您需要多少项,OFFSET 表示您要开始查找的位置。
您提到,您正在构建分页,因此您可以设置变量,从请求中获取限制和偏移量。因为params在不同的页面应该是不同的。使用类似这样的东西。
$limit = $this->request->getPost('limit');
$offset = $this->request->getPost('offset');
$this->db->query("SELECT * FROM `kss_filepaths` LIMIT $limit OFFSET $offset");
但是,请尽量避免在生产中使用这样的代码,因为 LIMIT 子句容易受到 SQL 注入的攻击,您可以阅读更多相关信息 Here