$offset 不适用于分页 codeigniter

2024-02-07

我正在尝试在我的搜索结果页面中实现分页。我昨天问过这个问题但没有成功使用 codeigniter 分页在搜索页面上不受限制的记录 https://stackoverflow.com/questions/16775206/records-not-limited-on-searchpage-using-codeigniter-pagination

我现在遇到的问题有点不同。

情况

我的分页链接正常工作,我看到网址更改如下:http://example.com/home/searchresults/2 http://example.com/home/searchresults/2(用于分页的第二页)等。 但所有的搜索结果都会显示。当我将限制编辑为 1 时,我会获得更多链接,因此工作正常。

Question

这个愚蠢的问题可能是什么?我认为这与我的 Total_rows 有关

我的控制器:

    function searchresults()
    {   
        $this->breadcrumbs->page = array('link'=> base_url().'home/search' ,'title' => 'Bedrijven Zoeken' );            
        $this->breadcrumbs->method = array('link'=> base_url().'home/searchresults' ,'title' => 'Zoekresultaten' );
        $data['breadcrumbs'] = $this->breadcrumbs->get();
        $match = $this->input->post('search');
        if(strlen($this->input->post('cookie')) > 0){ $match2 = $this->input->post('cookie'); } else{ $match2 = '9101'; }

        $this->load->library('pagination');

        $limit = 4;
        $offset=($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
        $config['base_url'] = base_url().'home/searchresults/';
        $config['total_rows'] = count($this->bedrijven_model->get_search($match, $match2, $limit, $offset ));
        $config['per_page'] = $limit;
        $config['use_page_numbers'] = TRUE;
        $config['num_links'] = 5;   

        $this->pagination->initialize($config);
        $offset = $this->uri->segment(3);
        $data['links'] = $this->pagination->create_links();
        //$data['query'] = $this->bedrijven_model->get_search($match, $match2, 2147483647, 0); /*large number as limit to retrieve all the rows*/           
        $data['query_curr'] = $this->bedrijven_model->get_search($match, $match2, $config['per_page'], $this->uri->segment(3) );
        $this->load->view('views/header');
        $this->load->view('views/searchresults', $data);
        $this->load->view('views/footer');
    }

我的型号:

function get_search($match, $match2, $limit, $offset=0)
{
    if(!isset($_SESSION)) 
    { 
    session_start();
    };
    /*
    $string = implode($_SESSION['postcodes'], '|');
    $string2 = $_SESSION['searched_post_code'];
    */
    $postcodes = (is_array($_SESSION['postcodes']) ? $_SESSION['postcodes'] : array());
    $postcodes[] =  $_SESSION['searched_post_code'];
    $postcodes = array_filter(filter_var_array($postcodes, FILTER_VALIDATE_INT));
    $string = join(',', $postcodes);

        if (!isset($_COOKIE['cookie'])) { 

            $query = "SELECT * FROM (`bedrijfcategorieen`) 
            JOIN `bedrijven` ON `bedrijfcategorieen`.`idbedrijven` = `bedrijven`.`idbedrijven` 
            JOIN `categorieen` ON `bedrijfcategorieen`.`idcategorieen` = `categorieen`.`idcategorieen` 
            WHERE (`Bedrijfsnaam` LIKE '%".$this->input->post('search')."%' 
            OR `Plaats` LIKE '%".$this->input->post('search')."%' 
            OR `Telefoonnummer` LIKE '%".$this->input->post('search')."%' 
            OR `Email` LIKE '%".$this->input->post('search')."%' 
            OR `Website` LIKE '%".$this->input->post('search')."%' 
            OR `Profiel` LIKE '%".$this->input->post('search')."%' 
            OR `Adres` LIKE '%".$this->input->post('search')."%' 
            OR `Categorie` LIKE '%".$this->input->post('search')."%') 
            AND (Postcode IN ($string))

            GROUP BY `Categorie`,  `bedrijfcategorieen`.`idbedrijven`";
            $query = $this->db->query($query);
            $this->db->limit($limit, $offset);
            echo '<pre>';
            echo '</pre>';
            $result = $query->result_array();
            return $result;
      }

我希望有人能帮助我解决这个问题。我现在已经为此苦苦挣扎了近3个小时。


您需要在以下范围内设置限制/偏移量$querystring:

$query = "SELECT * FROM (`bedrijfcategorieen`) 
        JOIN `bedrijven` ON `bedrijfcategorieen`.`idbedrijven` = `bedrijven`.`idbedrijven` 
        JOIN `categorieen` ON `bedrijfcategorieen`.`idcategorieen` = `categorieen`.`idcategorieen` 
        WHERE (`Bedrijfsnaam` LIKE '%".$this->input->post('search')."%' 
        OR `Plaats` LIKE '%".$this->input->post('search')."%' 
        OR `Telefoonnummer` LIKE '%".$this->input->post('search')."%' 
        OR `Email` LIKE '%".$this->input->post('search')."%' 
        OR `Website` LIKE '%".$this->input->post('search')."%' 
        OR `Profiel` LIKE '%".$this->input->post('search')."%' 
        OR `Adres` LIKE '%".$this->input->post('search')."%' 
        OR `Categorie` LIKE '%".$this->input->post('search')."%') 
        AND (Postcode IN ($string)) 
        GROUP BY `Categorie`,  `bedrijfcategorieen`.`idbedrijven` 
        LIMIT ".$offset.", ".$limit;

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

$offset 不适用于分页 codeigniter 的相关文章

  • PHP中如何检查输入类型按钮是否被按下?

    isset 函数可用于检查输入类型submit被按下 但是有没有办法检查输入类型按钮是否被按下 在我的代码中 按钮什么也不做 只是在 Onclick 事件上调用一个函数 然后刷新页面并在 PHP 中创建数据库条目 并且我希望它仅在按下按钮后
  • 如何处理 BrainTree 中的 Webhook

    我正在尝试使用 BrainTree webhooks 进行订阅交易 但无法让我的页面进行验证 来自脑树 https www braintree payments com docs php webhooks destination verif
  • 如何禁用 Yii2 中的按钮

    我正在尝试禁用创建项目 Button当用户未登录时 该按钮将Hide or disable 这是我的条件 p p 它正在工作 但是 当用户登
  • Codeigniter:将 sess_match_ip 设置为 FALSE 是否仍然安全

    我正在开发一个网站 来自某些国家 地区的访问者面临 codeigniter 缓存系统的问题 缓存在一两个请求后被删除 经过深入调查后 我将 sess match ip 和 sess match useragent 设置为 FALSE 现在一
  • 更改订单项自定义元数据在 WooCommerce 管理订单中显示的标签和值

    在 Woocommerce 管理屏幕中 我尝试使用订单行元数据来显示一个按钮 该按钮将打开一个新窗口 其中包含代发货供应商的 URL 我已成功从订单产品中提取供应商 URL 并将其推送到订单行项目 我可以将元数据更改为按钮 但其结果是包含自
  • Laravel htmlspecialchars() 期望参数 1 是我的项目中给出的字符串、对象?

    所以我正在尝试编写一个简单的网站表单 但它有这个 htmlspecialchars 错误 我尝试制作 message 但没有成功 有同样的错误 这是我的控制器
  • strpos 0==false 问题?

    我使用 strpos 来查找一个字符串在另一个字符串中的位置 我首先检查是否在那里找到了该字符串 这是我的台词 if strpos grafik data ss1 lt gt false strpos grafik data ss2 lt
  • php 日期函数和 Carbon 哪个更快?

    Carbon 是 DateTime 的简单 PHP API 扩展 我想知道我们可以通过 Composer 安装 Carbon 来使用日期时间函数 php 日期时间函数和 Carbon 哪个更快 我对您的评论做了一些测试 比较了 DateTi
  • REST API 响应中的校验和

    发送带有响应内容的校验和是个好主意吗 如果是这样 计算校验和的最常见方法是什么 Example HTTP 1 1 200 OK Date Thu 30 Jun 2011 21 32 20 GMT Server Apache Connecti
  • 正则表达式删除带有数字的单词

    我想删除产品名称中带有数字 参考 或小单词 2 个或更少字符 的单词 但我找不到好的正则表达式 一些例子 链式防回弹ECS 2035 应成为 链式防反弹 指南 35 厘米俄勒冈 Intenz 应该成为 俄勒冈州 Intenz 指南 Tron
  • SimpleXML:使用包含命名空间的 XML

    我正在尝试从 google picasa API 获取地理信息 这是原始 XML
  • Laravel 5:如何检索并显示属于特定类别的所有帖子

    我有3张桌子 user id username subreddits id name created at posts id title link user id subreddit id 问题是 我手动获取 subreddit 类别的 i
  • 使用 Composer CLI 将数据添加到额外属性

    根据文档extra的财产composer json 架构 https getcomposer org doc 04 schema md extra 允许设置 供脚本使用的任意额外数据 出于脚本目的 如果可以将数据添加到extra通过命令行属
  • 从多维数组中删除多个值

    我有一个来自 WordPress 的数组get posts 功能 posts array 15 0 gt object WP Post 285 24 ID gt int 253 post author gt string 1 1 post
  • 随机字体颜色

    我需要用 2 或 3 种随机颜色为文本着色 我如何在 PHP 或 JavaScript 中执行此操作 color str pad sprintf x x x rand 0 255 rand 0 255 rand 0 255 6 rand 0
  • Laravel - LIKE 运算符来搜索加密值

    我正在尝试在 Laravel 应用程序中实现一个搜索模块 可以按名称过滤用户 为了保护用户 name 列行在数据库上加密 我面临的问题是下面的查询总是返回 0 结果 我在搜索数据库之前对搜索输入值进行加密 patients DB selec
  • 在 PHP 扩展中,推荐从 std::string 返回值的方法

    我们有一个简单的 PHP 函数 其目的是调用 C 自由函数std string callLibrary std string 并返回其std string返回值 目前看起来是这样的 PHP FUNCTION call library cha
  • PHP 指针与引用

    在 PHP 中 使用指针有什么区别 例如 function foo var var 3 a 0 foo a 以及参考 function foo var var 3 a 0 foo a 它们都修改了原始变量的值 但是它们内部的表示方式不同吗
  • XAMPP Windows 上的 Php Cron 作业

    嗯 我是这个词的新手CRON 据我所知 这是一个Unix安排特定操作在定义的时间间隔后执行的概念 我需要运行一个php文件 每小时更新一次数据库 但我的困惑在于安排执行 我在用XAMPP用于 Windows 7 上的本地开发测试 我发现了什
  • 致命错误:找不到类“App\PDO”

    当我尝试使用命名空间时出现此错误 I have namespace App 顶部 班级看起来像 class database function construct try this gt db new PDO lt here the err

随机推荐

  • GWT 对单元格表进行排序,可能只是我没有看到的

    在过去的几个小时里 我一直在努力对 GWT CellTable 进行排序 这确实是一个愚蠢的问题 因为它已经在这里完成了http gwt google com samples Showcase Showcase html CwCellTab
  • Operator= 和 C++ 中未继承的函数?

    在我刚刚进行的测试之前 我认为在 C 中只有构造函数不被继承 但显然 任务operator 是不是太 这是什么原因呢 是否有任何解决方法来继承赋值运算符 是否也是如此operator operator 所有其他函数 除了构造函数 运算符 都
  • 暂停JW播放器?

    我有三个标签 每个选项卡的滑块中有两个视频 问题是当我切换任何选项卡时or单击任何单个视频 所有其他视频都应暂停 我可以收集所有 id 然后循环使用 stop 但是还有其他更干净 更简单的方法吗 jwplayer video pub sto
  • Universal Analytics - 第三方支付网关

    我们的网站目前正在通过跟踪代码管理器使用 Universal Analytics 进行跟踪 我们的结账流程包括在前往感谢页面之前重定向至第三方支付网关 所以 它看起来像这样 site com checkout gt site com pay
  • 通过保留顺序,根据 id 列将 Spark DataFrame 拆分为两个 DataFrame(70% 和 30%)

    我有一个 Spark 数据框 就像 id start time feature 1 01 01 2018 3 567 1 01 02 2018 4 454 1 01 03 2018 6 455 2 01 02 2018 343 4 2 01
  • 预先计算多维线性插值的权重

    我有一个沿 D 维度的非均匀矩形网格 网格上的逻辑值 V 矩阵和查询数据点 X 矩阵 网格点的数量在不同维度上有所不同 我对同一网格 G 和查询 X 多次运行插值 但对于不同的值 V 目标是预先计算插值的索引和权重并重用它们 因为它们始终相
  • Haystack more_like_this 返回全部

    我正在使用 Django haystack solr 进行搜索 我已经能够搜索 现在我想使用 more like this 查找类似的项目 当我尝试使用 more like this 功能时 我会返回属于该模型类型的所有对象 而不仅仅是与其
  • 以编程方式创建/运行命令文件

    我正在尝试创建一个 cmd 文件来安装 msi 然后通过 C 代码执行该 cmd 文件 如果我使用 Visual Studio 中的 f5 或 control f5 运行该代码 则该代码可以完美运行 但是 一旦我将代码打包在 msi 文件中
  • 如何在 ecmascript 6 中模拟导入的模块?

    我有一个带有 mocha babel 和 node 的测试设置 旨在测试 ecmascript 6 代码 有人对如何模拟被测模块中的导入有任何建议吗 ES2015 中的导入和导出是语言本身的一部分 并且被设计为可静态分析 因此 它们无法在运
  • 嵌套 CAST 不起作用

    为什么嵌套转换在 MySQL 中不起作用 它确实使用 SQL Server select cast cast myColumn as decimal 5 2 as int from myTable SQLFiddle示例 http sqlf
  • Codeigniter ajax CSRF问题

    我制作了一个简单的自动加载功能 当您在网站上向下滚动时加载内容 但是 当我在 Codeigniter 中启用 CSRF 保护时 似乎存在一些问题 我没有使用表单 所以当我在滚动时执行发布请求时 我不知道如何将令牌从 A 发送到 B 我的 J
  • 静态库的静态成员

    我有带有静态成员的静态库 该库静态链接到主应用程序及其插件之一 看起来像在 main 应用程序 和 dll 插件 中初始化静态变量 Question 如何避免动态库加载时静态变量重新初始化 或者我可能错过了一些简单的事情 更多信息 这是一个
  • Oracle:用户数据中按循环连接

    我了解 Oracle 中何时会发生循环 从理论上讲 如果一条记录既是另一个节点的父节点 又是另一个节点的子节点 那么它就可以进入循环 但我不明白为什么我的这个特定查询会陷入循环 SELECT Empno Ename Job FROM Emp
  • Github API OAuth 令牌验证

    有什么方法可以验证我的 github API 的 OAuth 令牌吗 我所说的 令牌 是指用户登录我的网站后获得的令牌 我使用 cookie 将其存储在客户端计算机上 但仅检查是否有令牌是不够的 我需要实际检查令牌是否有效 目前 这需要我提
  • 如果我访问 UserTransaction 是否意味着我使用 2 阶段提交或 XA?

    UserTransaction ut 查找 ut beginTransaction saveToFooDB statelessEjb transactionSupportedMethod 将一些内容保存到 Foo DB saveToFooD
  • mysql2 gem 出现 Gem::LoadError,但它已经在 Gemfile 中

    Gem LoadError Specified mysql2 for database adapter but the gem is not loaded Add gem mysql2 to your Gemfile 加载以下文件时发生此错
  • 使用nodejs通过ssl使用明文密码连接到MariaDB

    我正在尝试通过 ssl 连接到 mariadb 实例 var mysql require mysql var conn mysql createConnection user user password password debug tru
  • 如何找到列表的模式?

    我有一个清单 List
  • 在 Apache Spark 中,为什么 RDD.union 不保留分区器?

    众所周知 Spark中的分区器对任何 宽 操作都会产生巨大的性能影响 因此通常在操作中进行定制 我正在尝试以下代码 val rdd1 sc parallelize 1 to 50 keyBy 10 partitionBy new HashP
  • $offset 不适用于分页 codeigniter

    我正在尝试在我的搜索结果页面中实现分页 我昨天问过这个问题但没有成功使用 codeigniter 分页在搜索页面上不受限制的记录 https stackoverflow com questions 16775206 records not