ThinkPHP分页链接的数据拼接

show()方法中,会自动的优先拼接$_POST里的数据,组成分页链接的参数,所以有时候我们调用分页类生成分页链接时,可能需要合理的设置$_POST/$_GET的参赛

show() 部分源码如下:

  // 分析分页参数
        if($this->url){
            $depr       =   C(‘URL_PATHINFO_DEPR‘);
            $url        =   rtrim(U(‘/‘.$this->url,‘‘,false),$depr).$depr.‘__PAGE__‘;
        }else{
            if($this->parameter && is_string($this->parameter)) {
                parse_str($this->parameter,$parameter);
            }elseif(is_array($this->parameter)){
                $parameter      =   $this->parameter;
            }elseif(empty($this->parameter)){
                unset($_GET[C(‘VAR_URL_PARAMS‘)]);

    //分页链接拼接的参数
                $var =  !empty($_POST)?$_POST:$_GET;
                if(empty($var)) {
                    $parameter  =   array();
                }else{
                    $parameter  =   $var;
                }
            }
            $parameter[$p]  =   ‘__PAGE__‘;
            $url            =   U(‘‘,$parameter);
        }

  

时间: 2024-11-06 07:19:34

ThinkPHP分页链接的数据拼接的相关文章

thinkphp分页时保持查询条件

thinkphp 查询数据时需要分页显示时,会出现只有第1页是按查询条件查到的数据,而其他页面都恢复了,我们想要的结果却是:在翻页时,查询条件保持不变. 原因是:在分页跳转的时候,没有将查询条件作为分页参数传递到下一页.原来翻页的时候,存储在REQUEST变量中的参数并未被传递到下一页,因为表单的 method = “post”,而点击进入下一页时,很明显form表单被重置了,所以打印REQUEST变量也是空的. thinkphp RBAC的示例代码中给出了: PHP $p = new Page

ThinkPHP 分页中带入查询(搜索)条件

parameter 属性赋值 例如要检索用户表中状态为 1 (status=1) 并且电子包含 163 的用户,当提交表单时(注意表单是 GET 方式提交),形成的 URL 地址大致如下: http://www.5idev.com/index.php/Index/search/status/1/email/163 在搜索操作(search)中主要代码如下: public function search(){ $Dao = M("User"); // 构造查询条件 $condition[

thinkphp分页参数带空格的问题

问题描述:thinkphp分页中参数如果带有空格,空格会被编码成“+”,那么有些分页数据就没法正常读取. 解决办法:改thinkphp自带Page类中的url方法,用rawurlencode代替urlencode编码. rawurlencode函数:返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数. urlencode函数:返回字符串,此字符串中除了 -_. 之外的所有非字母数字字符都将被替换成百分号(%)后跟两位十六进制数,空格则编码为加号

ThinkPHP分页使用例子(二十一)

原文:ThinkPHP分页使用例子(二十一) ThinkPHP分页使用 PHP代码: public function fenye(){ $User = M('Leyangjun'); // 实例化User对象 import('ORG.Util.Page');// 导入分页类 $count      = $User->count();// 查询满足要求的总记录数 $Page       = new Page($count,2);// 实例化分页类 传入总记录数和每页显示的记录数 $show    

ThinkPHP 分页功能梳理

最近在开发一个项目,使用了国内流行的ThinkPHP框架,我之前没怎么用过这个框架,也是临时抱佛脚,用的不怎么样?可能理解不是很深刻,如果有说的不对或不正确的地方,请大家多包涵,多指教. ThinkPHP简介 首先,说说怎么学习这个框架,当然是上官网,看官方的文档.地址如下:http://thinkphp.cn,可以下载开发包和开发手册. 第二,说说这个框架的优点,这个框架能流行起来,一定有很多优点.我仅根据我的感受说三点:1)注释完全中文化,我喜欢(因为俺E文不好):2)框架的功能实现比较简洁

ThinkPHP分页和删除操作

步骤: 1.添加模板文件:(View层) <table class=""> <foreach name='list' item='v'> <tr><td>{$v['bTitle']}</td><td>{$v['bAbstart']}</td><td>{$v['bContent']}</td><td>{$v['bTime']}</td><td>{

thinkphp 分页中间省略号实现【亲测好使】

thinkphp 分页中间省略号实现 <?php class Pages{     public $firstRow; // 起始行数     public $listRows; // 列表每页显示行数     public $parameter; // 分页跳转时要带的参数     public $totalRows; // 总行数     public $totalPages; // 分页总页面数     public $rollPage   = 5;// 分页栏每页显示的页数     pu

Laravel 中通过自定义分页器分页方法实现伪静态分页链接以利于 SEO

我们知道,Laravel 自带的分页器方法包含 simplePaginate 和 paginate 方法,一个返回不带页码的分页链接,另一个返回带页码的分页链接,但是这两种分页链接页码都是以带问号的动态参数形式附加在查询字符串中,形如 https://laravelacademy.org?page=100,但是这种包含动态参数的 URL 格式对 SEO 不友好,我们最好将其转化为 https://laravelacademy.org/page/100 这种不带问号的伪静态分页链接格式,遗憾的是

THINKPHP短链接设置方法(路由设置)

//路由设置(短链接设置)'URL_ROUTER_ON' => true,'URL_ROUTE_RULES' => array('log' => 'Login/index','admin' => 'Login/admin','reg' => 'Login/register', 'c/:id' => 'Index/index/user' '/^C_(\d+)$/' => 'Index/index/user?id=:1'), 长链接:http://localhost/