thinkphp分页

thinkphp分页bug--解决thinkphp分页乱码问题

只愿长相守 提交于 2020-03-08 02:16:12
thinkphp自带的分页类存在bug,例如当我们搜索关键词时,关键词为中文,第二次点击分页的时候,就会乱码,不能正常的显示我们需要的页码。本文就这一问题给出解决方案。 出现乱码的问题是因为thinkphp分页类中的,构造url时存在的问题,thinkphp的分页url是使用"/"来分隔参数的,在将数据传递到url中时,经过url加密,第二次传递的时候就会乱码了,而如果我们使用"?"和"&"来分隔参数的话,就不会出现这个问题了。 所以要修改的内容是thinkphp的分页类文件:/ThinkPHP/Extend/Library/ORG/Util/Page.class.php文件。 具体修改的代码是: 1、在thinkphp分页类文件Page.class.php的最后加上一个自定义函数,用于替换url中的参数分隔符号,函数内容如下: private function clin_page_url($parameter){ $url = U(''); $url = str_replace('.html', '?', $url); foreach ($parameter as $key => $value) { $url .= $key.'='.$value.'&'; } $url = substr($url, 0,-1); return $url; } 2、修改最终生成的url 在Page

thinkphp 分页的 实现 和样式 分享

偶尔善良 提交于 2020-03-03 13:58:24
1 根据think\page.class.php 文件 可以知道分页类的使用需要很多次的调用 我们可以自己再写一个方法 方便多次使用 放在Common/function.php中 function getpage(&$m,$where,$pagesize=2){ $m1=clone $m;//浅复制一个模型 $count = $m->where($where)->count();//连惯操作后会对join等操作进行重置 $m=$m1;//为保持在为定的连惯操作,浅复制一个模型 $p=new \Think\Page($count,$pagesize); $p->lastSuffix=false; $p->setConfig('header','<li class="rows">共<b>%TOTAL_ROW%</b>条记录  每页<b>%LIST_ROW%</b>条  第<b>%NOW_PAGE%</b>页/共<b>%TOTAL_PAGE%</b>页</li>'); $p->setConfig('prev','上一页'); $p->setConfig('next','下一页'); $p->setConfig('last','末页'); $p->setConfig('first','首页'); $p->setConfig('theme','%FIRST% %UP_PAGE% %LINK

thinkphp 数据分页

情到浓时终转凉″ 提交于 2019-12-04 08:46:51
通常在数据查询后都会对数据集进行分页操作,ThinkPHP也提供了分页类来对数据分页提供支持。 下面是数据分页的两种示例。 第一种:利用Page类和limit方法 $User = M ( 'User' ); // 实例化User对象 $count = $User -> where ( 'status=1' )-> count (); // 查询满足要求的总记录数 $Page = new \Think\Page ( $count , 25 ); // 实例化分页类 传入总记录数和每页显示的记录数(25) $show = $Page -> show (); // 分页显示输出 // 进行分页数据查询 注意limit方法的参数要使用Page类的属性 $list = $User -> where ( 'status=1' )-> order ( 'create_time' )-> limit ( $Page -> firstRow . ',' . $Page -> listRows )-> select (); $this -> assign ( 'list' , $list ); // 赋值数据集 $this -> assign ( 'page' , $show ); // 赋值分页输出 $this -> display (); // 输出模板 第二种:分页类和page方法的实现

thinkphp+ajax无刷新分页并加载显示图片

回眸只為那壹抹淺笑 提交于 2019-12-04 07:46:05
最近自己用thinkphp和bootstrap做一个小站点,在用到ajax与后台数据库交互实现无刷新分页时,因为我需要返回的数据是html代码,里面包含要显示出图片,然而返回数据到静态页面时,却发现返回的图片未被网页加载显示。找了一些资料,最后提取总结了别人一些经验,写了一个小技巧。这里纯属新手自学的总结,大牛们见怪莫怪。如果我的分享有不妥处,还望各位不吝赐教。 先说下主要操作的思路:当静态页面的ajax提交后到后台进行数据查询和处理后,返回类似以下的html字符串 <img src='' width='250px' hieght='100px' alt='image' data-url='/wamp/www/schoolbag/Public/img/s2.jpg'> 把这个用jquery的html方法插入的页面中是无法加载显示图片的。 大家应该注意到上面的img标签中的data-url,平时没有实际的意义,但是这里可以作为一个技巧来用,当ajax返回数据成功后,即可以执行如下操作 $('#ajax_content').html(data['html']); var img_url = $('#ajax_content img').attr('data-url'); $('#ajax_content img').attr('src',img_url);

ThinkPHP示例:ajax分页操作

◇◆丶佛笑我妖孽 提交于 2019-12-03 05:23:19
ThinkPHP示例之ajax分页操作,演示了如何进行数据分页操作,需要使用表单示例中的数据表,或者直接创建数据表如下: CREATE TABLE IF NOT EXISTS `think_form` ( `id` smallint ( 4 ) unsigned NOT NULL AUTO_INCREMENT , `title` varchar ( 255 ) NOT NULL , `content` varchar ( 255 ) NOT NULL , `create_time` int ( 11 ) unsigned NOT NULL , PRIMARY KEY ( `id` ) ) ENGINE = MyISAM DEFAULT CHARSET = utf8 ; 复制代码 修改项目配置文件中的数据库连接信息,打开示例页面后显示: 如果没有看到数据的话,请首先往该数据表里面手动添加一些数据来测试分页效果。 本分页类已被修改,用的是github上最新的分页类,通过实例化page类时直接传入html里的ajax列表容器和分页div所在的容器id,配合相应模板,即可轻松实现ajax分页。 另外,对分页调用做了 数据无关的封装 ,可以 数组分页也可sql分页 ,详情描述看action中的注释,为了项目中的使用方便,分页方法传入的参数用 数组 传入。 关键代码: public

thinkPHP 分页

徘徊边缘 提交于 2019-11-29 05:41:59
thinkPHP 内置了分页功能 分页主要就是为了页面数据过多后的处理,方便使用跟查看; 首先要先在控制器了找到想要操作的数据库数据,并配置一页上要显示多少条数据 主页代码 paginate(4)表示每一页有四条数据; 可以先引入bootstrap; 基本样式为: 这里的双箭头样式如果有其他需要可以自行改变 路径为: 具体配置 改完后的页面效果如下 来源: https://www.cnblogs.com/gaojian910/p/11456976.html