
正文
漂亮的php数据分页类 php实现分页显示
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
thinkphp数据分页怎么使用
第一种:利用Page类和limit方法
$User = M('User'); // 实例化User对象
import('ORG.Util.Page');// 导入分页类
$count = $User-where('status=1')-count();// 查询满足要求的总记录数
$Page = new Page($count,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方法的实现
$User = M('User'); // 实例化User对象
// 进行分页数据查询 注意page方法的参数的前面部分是当前的页数使用 $_GET[p]获取
$list = $User-where('status=1')-order('create_time')-page($_GET['p'].',25')-select();
$this-assign('list',$list);// 赋值数据集
import(“ORG.Util.Page”);// 导入分页类
$count = $User-where('status=1')-count();// 查询满足要求的总记录数
$Page = new Page($count,25);// 实例化分页类 传入总记录数和每页显示的记录数
$show = $Page-show();// 分页显示输出
$this-assign('page',$show);// 赋值分页输出
$this-display(); // 输出模板
带入查询条件
如果是POST方式查询,如何确保分页之后能够保持原先的查询条件呢,我们可以给分页类传入参数,方法是给分页类的parameter属性赋值:
import('ORG.Util.Page');// 导入分页类
$mapcount = $User-where($map)-count();// 查询满足要求的总记录数
$Page = new Page($count,25);// 实例化分页类 传入总记录数和每页显示的记录数
//分页跳转的时候保证查询条件
foreach($map as $key=$val) {
$Page-parameter .= "$key=".urlencode($val).'';
}
$show = $Page-show();// 分页显示输出
相关问答
Q1: 在php中如何对多条记录进行分页
方法一:讲sql查询进行分页进行,需要调用几个函数,具体见脚本:
1.pager.class.php
?php
class pager {
public $sql; //SQL查询语句
public $datanum; //查询所有的数据总记录数
public $page_size; //每页显示记录的条数
protected $_errstr;
protected $_conn;
protected $_query_id;
public function query($query)///这个函数有问题,暂时可以不用
{
$ret = false;
if (!empty($query)) {
if ($this-_conn === false || !is_resource($this-_conn)) {
warningLog(__METHOD__ . ': query sql with no connection', true);
return false;
}
$this-_query_id = @mysql_query($query, $this-_conn);
if ($this-_query_id === false) {
$this-_errstr = @mysql_error();
$ret = false;
} else {
$this-_errstr = 'SUCCESS';
$ret = $this-_query_id;
}
}
$msg = ($ret === false) ? 'false' : strval($ret);
debugLog(__METHOD__.": [$msg] returned for sql query [$query]");
return $ret;
}
function __construct($sql,$page_size) {
$result = mysql_query($sql);
$datanum = mysql_num_rows($result);
$this-sql=$sql;
$this-datanum=$datanum;
$this-page_size=$page_size;
}
//当前页数
public function page_id() {
if($_SERVER['QUERY_STRING'] == ""){
return 1;
}elseif(substr_count($_SERVER['QUERY_STRING'],"page_id=") == 0){
return 1;
}else{
return intval(substr($_SERVER['QUERY_STRING'],8));
}
}
//剩余url值
public function url() {
if($_SERVER['QUERY_STRING'] == ""){
return "";
}elseif(substr_count($_SERVER['QUERY_STRING'],"page_id=") == 0){
return "".$_SERVER['QUERY_STRING'];
}else{
return str_replace("page_id=".$this-page_id(),"",$_SERVER['QUERY_STRING']);
}
}
//总页数
public function page_num() {
if($this-datanum == 0){
return 1;
}else{
return ceil($this-datanum/$this-page_size);
}
}
//数据库查询的偏移量
public function start() {
return ($this-page_id()-1)*$this-page_size;
}
//数据输出
public function sqlquery() {
return $this-sql." limit ".$this-start().",".$this-page_size;
}
//获取当前文件名
private function php_self() {
return $_SERVER['PHP_SELF'];
}
//上一页
private function pre_page() {
if ($this-page_id() == 1) { //页数等于1
return "a href=".$this-php_self()."?page_id=1".$this-url()."上一页/a ";
}elseif ($this-page_id() != 1) { //页数不等于1
return "a href=".$this-php_self()."?page_id=".($this-page_id()-1).$this-url()."上一页/a ";
}
}
//显示分页
private function display_page() {
$display_page = "";
if($this-page_num() = 10){ //小于10页
for ($i=1;$i=$this-page_num();$i++) //循环显示出页面
$display_page .= "a href=".$this-php_self()."?page_id=".$i.$this-url()."".$i."/a ";
return $display_page;
}elseif($this-page_num() 10){ //大于10页
if($this-page_id() = 6){
for ($i=1;$i=10;$i++) //循环显示出页面
$display_page .= "a href=".$this-php_self()."?page_id=".$i.$this-url()."".$i."/a ";
return $display_page;
}elseif(($this-page_id() 6) ($this-page_num()-$this-page_id() = 4)){
for ($i=$this-page_id()-5;$i=$this-page_id()+4;$i++) //循环显示出页面
$display_page .= "a href=".$this-php_self()."?page_id=".$i.$this-url()."".$i."/a ";
return $display_page;
}elseif(($this-page_id() 6) ($this-page_num()-$this-page_id() 4)){
for ($i=$this-page_num()-9;$i=$this-page_num();$i++) //循环显示出页面
$display_page .= "a href=".$this-php_self()."?page_id=".$i.$this-url()."".$i."/a ";
return $display_page;
}
}
}
//下一页
private function next_page() {
if ($this-page_id() $this-page_num()) { //页数小于总页数
return "a href=".$this-php_self()."?page_id=".($this-page_id()+1).$this-url()."下一页/a ";
}elseif ($this-page_id() == $this-page_num()) { //页数等于总页数
return "a href=".$this-php_self()."?page_id=".$this-page_num().$this-url()."下一页/a ";
}
}
// 设置分页信息
public function set_page_info() {
$page_info = "共".$this-datanum."条 ";
$page_info .= "a href=".$this-php_self()."?page_id=1".$this-url()."首页/a ";
$page_info .= $this-pre_page();
$page_info .= $this-display_page();
$page_info .= $this-next_page();
$page_info .= "a href=".$this-php_self()."?page_id=".$this-page_num().$this-url()."尾页/a ";
$page_info .= "第".$this-page_id()."/".$this-page_num()."页";
return $page_info;
}
}
?
2.脚本2:
?php
//类的用法
// 读取分页类
include("pager.class.php");
// 数据库连接初始化
// $db = new mysql();
$impeach_host = '10.81.43.139';
$impeach_usr = 'vmtest15';
$impeach_passwd = 'vmtest15';
$impeach_name = 'ufeature';
$impeach_con = mysql_connect($impeach_host, $impeach_usr, $impeach_passwd) or
die("Can't connect ".mysql_error());
mysql_select_db($impeach_name, $impeach_con);
// 这是一个sql查询语句,并得到查询结果
$sql = "select word from ufeature.spam_accuse_word_list where flag='0'";
// 分页初始化
$page = new pager($sql,20);
// 20是每页显示的数量
// $res_1 = mysql_query($sql) or
// die("Can't get result ".mysql_error());
$result=mysql_query($page-sqlquery());
while($info = mysql_fetch_array($result,MYSQL_ASSOC)){
// while($info = mysql_fetch_array($res_1, MYSQL_ASSOC)){
echo $info["word"]."br/";
}
// 页码索引条
echo $page-set_page_info();
?
方法二:使用ajax的方法
1、首先了解SQL语句中的limit用法
SELECT * FROM table …… limit 开始位置 , 操作条数 (其中开始位置是从0开始的)
例子
取前20条记录:SELECT * FROM table …… limit 0 , 20
从第11条开始取20条记录:SELECT * FROM table …… limit 10 , 20
LIMIT n 等价于 LIMIT 0,n。
如select * from table LIMIT 5; //返回前5行,和select * from table LIMIT 0,5一样
2、分页原理
所谓分页显示,也就是讲数据库中的结果集,一段一段显示出来
怎么分段,当前在第几段 (每页有几条,当前再第几页)
前10条记录:select * from table limit 0,10
第11至20条记录:select * from table limit 10,10
第21至30条记录:select * from table limit 20,10
分页公式:
(当前页数 - 1 )X 每页条数 , 每页条数
Select * from table limit ($Page- 1) * $PageSize, $PageSize
3、$_SERVER["REQUEST_URI"]函数
预定义服务器变量的一种,所有$_SERVER开头的都叫做预定于服务器变量。
REQUEST_URI的作用是取得当前URI,也就除域名外后面的完整的地址路径。
例子:
当前页为:;cid=22
echo $_SERVER["REQUEST_URI"]
结果为:/home.php?id=23cid=22
4、parse_url()解析URL函数
parse_url() 是讲URL解析成有固定键值的数组的函数
例子
$ua=parse_url("");
print_r($ua);
结果:
Array
(
[scheme] = http ;协议
[host] = hostname ;主机域名
[user] = username ;用户
[pass] = password ;密码
[path] = /path ;路径
[query] = arg=value ;取参数
[fragment] = anchor ;
)
5、代码实例
这个一个留言的分页,分为3个部分,一个是数据库设计,一个是连接页面,一个是显示页面。
(1)设计数据库
设计数据库名为bbs,有一个数据表为message,里面包含title,lastdate,user,content等字段,分别表示留言标题,留言日前,留言人,留言的内容
(2)连接页面
?php
$conn = @ mysql_connect("localhost", "root", "123456") or die("数据库链接错误");
mysql_select_db("bbs", $conn);
mysql_query("set names 'GBK'"); //使用GBK中文编码;
//将空格,换行转换为HTML可解析
function htmtocode($content) {
$content = str_replace("\n", "br", str_replace(" ", " ", $content)); //两个str_replace嵌套
return $content;
}
//$content=str_replace("'","‘",$content);
//htmlspecialchars();
?
(3)显示页面
?php
include("conn.php");
$pagesize=2; //设置每页显示2个记录
$url=$_SERVER["REQUEST_URI"];
$url=parse_url($url);
$url=$url[path];
$numq=mysql_query("SELECT * FROM `message`");
$num = mysql_num_rows($numq);
if($_GET){
$pageval=$_GET;
$page=($pageval-1)*$pagesize;
$page.=',';
}
if($num $pagesize){
if($pageval=1)$pageval=1;
echo "共 $num 条".
" a href=$url?page=".($pageval-1)."上一页/a a href=$url?page=".($pageval+1)."下一页/a";
}
$SQL="SELECT * FROM `message` limit $page $pagesize ";
$query=mysql_query($SQL);
while($row=mysql_fetch_array($query)){
?
table width=500 border="0" cellpadding="5" cellspacing="1" bgcolor="#add3ef"
tr bgcolor="#eff3ff"
td标题:?php echo $row[title]?/td td时间:?php echo $row[lastdate]?/td
/tr
tr bgcolor="#eff3ff"
td 用户:?php echo $row[user]?/tdtd/td
/tr
tr
td内容:?php echo htmtocode($row[content]);?/td
/tr
br
/table
?php
}
?
方法3:
script
function viewpage(p){
if(window.XMLHttpRequest){
var xmlReq = new XMLHttpRequest();
} else if(window.ActiveXObject) {
var xmlReq = new ActiveXObject('Microsoft.XMLHTTP');
}
var formData = "page="+p;
xmlReq.onreadystatechange = function(){
if(xmlReq.readyState == 4){
document.getElementByIdx_x('content2').innerHTML = xmlReq.responseText;
}
}
xmlReq.open("post", "hotel_list.php", true);
xmlReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlReq.send(formData);
return false;
}
/script
脚本2:
header("Content-Type:text/html;charset=GB2312");
$pagesize=10;
//echo $_POST['page'];
$result = mysql_query("Select count(DISTINCT hotelname) FROM ".TBL_HOTELS);
$myrow = mysql_fetch_array($result);
$numrows=$myrow[0];
$pages=intval($numrows/$pagesize);
if ($numrows%$pagesize)
$pages++;
if (isset($_POST['page'])){
$page=intval($_POST['page']);
}
else{
//设置为第一页
$page=1;
}
$first=1;
$prev=$page-1;
$next=$page+1;
$last=$pages;
//计算记录偏移量
$offset=$pagesize*($page - 1);
//读取指定记录数
$result=mysql_query("select `hotelname` , count( * ) from ".TBL_HOTELS." GROUP BY `hotelname` order by id desc limit $offset,$pagesize");
$num = mysql_num_rows($result);
while ($row = mysql_fetch_array($result,MYSQL_NUM)) {
$hotelname[] = $row[0];
$countpeople[] = $row[1];
}
for($a=0;$a$num;$a++)
{
//$result=mysql_query("select count(title) from " . TBL_Comments ." where `title`=\"".$title[$a]."\"");
//$row = mysql_fetch_row($result);
echo "TABLE style=\"MARGIN-BOTTOM: 20px\" cellSpacing=0 cellPadding=0 width=100% border=0\n";
echo "TBODY\n";
echo "TR\n";
echo "TD style=\"PADDING-TOP: 5px\" vAlign=top align=left width=80\n";
//rating_bar($title[$a],5);
echo "/TD\n";
echo "TD style=\"PADDING-TOP: 5px\" align=left width=100%A title=$hotelname[$a] style=\"FONT-SIZE: 14px\" href=#$hotelname[$a]/A\n";
echo "/TD/TR\n";
echo " TR\n";
echo "TD/TD\n";
echo "TD style=\"PADDING-LEFT: 0px\"\n";
echo "IMG src=\"images/comment.gif\" border=0 推荐人数:($countpeople[$a]) |\n";
echo "SPAN平均分:STRONG/STRONG (".$count."票) | 评论数:()/SPAN\n";
echo "/TD/TR/TBODY/TABLE\n";
}
echo "TABLE style=\"MARGIN-TOP: 30px\" cellSpacing=0 cellPadding=0 width=\"100%\"";
echo "border=0";
echo "TBODYTRTD colSpan=3 height=20";
echo "DIV align=center";
echo "P align=leftFONT color=red第".$page."页/总".$pages."页 | 总".$numrows."条/FONT | ";
if ($page1) echo "a onclick=\"viewpage(".$first.")\" href='#'首页/a | ";
if ($page1) echo "a onclick=\"viewpage(".$prev.")\" href='#'上页/a | ";
if ($page$pages) echo "a onclick=\"viewpage(".$next.")\" href='#'下页/a | ";
if ($page$pages) echo "a onclick=\"viewpage(".$last.")\" href='#'尾页/a";
echo "转到第 INPUT maxLength=3 size=3 value=1 name=goto_page 页 INPUT hideFocus onclick=\"viewpage(document.all.goto_page.value)\" type=button value=Go name=cmd_goto";
echo "/P/DIV/TD/TR/TBODY/TABLE";
Q2: PHP显示很多数据库信息,如何自动分页呢?代码
这是我以前学php写的 哈哈 你可以看看
?php
/**
* 分页类
* 1.实例化分页类,例:mypage new page("SQL语句","每页显示记录条数");
* 2.调用类中的 genpage() 方法,返回分页生成的SQL语句;
* 3.执行新生成的SQL语句;
* 4.调用 showpage_1() 或 showpage_2() 方法显示分页的翻页(可也以自定义返回显示的方式)
* 实例:
* $page = new page("select * from ly",2);
* $sql=$page-genpage();
* $ar=mysql_query($sql);
* while($nu=mysql_fetch_array($ar)){
* echo $nu[0].'br';
* }
* $page-showpage_2();
*/
class page{
private $totalnum; //总记录数
private $pagecount; //总页数
private $f_pagenum; //当前页的第一条记录
private $sql;
private $page; //当前页
private $page_size; //每页显示数量
private $pagesql;
private $total;
private $url; //当前页url
private $beforepage; //上一页
private $nextpage; //下一页
function __construct($sql,$page_size){ //传入sql语句和每页显示条数
$this-sql=$sql;
$this-page_size=$page_size;
$this-page=is_numeric($_GET[page]);
$this-page=substr($this-page,0,10);
$this-page=mysql_real_escape_string($this-page);
if(ereg("^[0-9]*[1-9][0-9]*$",$this-page)!=1){
$this-page=1;
}
if($this-page99999999){
$this-page=1;
}
}
function genpage(){
//
// if(!$this-page){
// $this-page=1;
// }
$this-pagesql = strstr($this-sqlcz," from ");
$this-pagesql = "select count(*) as ids ".$this-pagesql;
$this-total=mysql_query($this-sql);
$this-totalnum=mysql_num_rows($this-total); //总记录数
$this-pagecount=ceil($this-totalnum/$this-page_size); //总页数
$this-f_pagenum=$this-page_size*($this-page-1); //当前页的第一条记录
$this-sql .=" limit $this-f_pagenum,$this-page_size ";
return $this-sql;
}
//替换url中的page的页数
function replace_page($npage){
$this-url=$_SERVER["REQUEST_URI"]; //获取当前url
$check = strpos($this-url, 'page='); //判断url中是否有page分页参数
if($check==false){ //如果没有page分页参数
if(strpos($this-url, '?')==false){ //判断是否url是否有“ ?”号,
$this-url=$this-url."?page=1"; //如果没有“ ?”号,说明之前url没有参数
}else{
$this-url=$this-url."page=1"; //如果有“ ?”号,说明有参数,追加参数要改用符号
}
}
$npage="page=".$npage; //跳转到的页
$zz='[page=\d*]';
return preg_replace($zz,$npage,$this-url); //正则替换掉url中的page参数,实现分页
}
//显示总页数
function show_all_page(){
return $this-pagecount;
}
//显示当前页
function show_current_page(){
return $this-page;
}
//显示首页和上一页
function show_firstAndup_page(){
if($this-page==1){
return "首页|上一页";
}else{
$this-beforepage=$this-page-1;
return "a href=".$this-replace_page(1)."首页/a|a href=".$this-replace_page($this-beforepage)."上一页/a";
}
}
//显示下一页和最后页
function show_lastAnddown_page(){
if(($this-page==$this-pagecount)||($this-pagecount==0)){
return "下一页|尾页";
}else{
$this-nextpage=$this-page+1;
return "a href=".$this-replace_page($this-nextpage)."下一页/a|a href=".$this-replace_page($this-pagecount)."尾页/a";
}
}
//循环显示页数
function show_loop_page(){
$shownum =10/2;
$startpage = ($this-page$shownum)?$this-page-$shownum:1;
$endpage = ($this-page+$shownum=$this-pagecount)?$this-page+$shownum:$this-pagecount;
for($i=$startpage;$i=$endpage;$i++)
{
if($i==$this-page) {
$a= " b[".($i)."]/b ";
}else{
$a= " a href=".$this-replace_page($i)."".($i)."/a ";
}
$b=$b.$a;
}
return $b;
}
//整体显示第一种方案
function showpage_1(){
return "共".$this-show_all_page()."页nbsp"."当前第".$this-show_current_page()."页nbsp".$this-show_firstAndup_page()."nbsp"
.$this-show_loop_page()."nbsp".$this-show_lastAnddown_page();
}
//整体显示第二种方案
function showpage_2(){
return $this-show_firstAndup_page()."nbsp".$this-show_loop_page()."nbsp".$this-show_lastAnddown_page();
}
}
?
Q3: 求这种分页的写法首页 上一页1 2 3 4 5 6 7下一页 尾页,用PHP代码写拜托啦。关键语法就可以谢谢啦
真巧,前段时间刚好写了一个这个格式的分页类
第一个方法是返回数组格式的数据,可以方便的在模板上添加自己喜欢的样式
第二个方法是直接返回的html代码,可以直接输出
?php
header('Content-type:text/html; Charset=utf-8');
/**
* @author xuyonglinwoaixuyonglin1@163.com
*/
class PageHelper{
/**
* createPage 生成分页跳转链接
* @param
* $page 当前页
* $rowCount 总条目数
* $pagesize 每页显示最大条数
* $params 页数后面的参数
* $front 前面显示几个页码
* $end 后面显示几个页码
*/
function createPage($page,$rowCount,$pagesize,$pager,$params,$front=5,$end=5) {
$count_page = ceil($rowCount/$pagesize);
if($page $count_page){
$page = $count_page;
}
$page1 = $page;
$page2 = $page;
for ($i = 0; $i $end+1; $i++) {
if ($page1 $count_page) {
break;
}
$rs1[] = $page1;
$page1++;
}
for ($i = 0; $i $front+1; $i++) {
$page2--;
if ($page2 == 0) {
break;
}
$rs2[] = $page2;
}
//$rs[] = '首页';
//$rs[] = '上一页';
@sort($rs2);
if($rs2){
foreach($rs2 as $value){
$rs[] = $value;
}
}
if($rs1){
foreach($rs1 as $value){
$rs[] = $value;
}
}
//$rs[] = '下一页';
//$rs[] = '尾页';
$re_pages = array(
'firstPage'='1',
'lastPage'=$count_page,
'middles'=$rs,
'currentPage'=$page,
'countPage'=$count_page
);
return $re_pages;
}
/**
* 分页类
* 描述:用于数据分页显示链接
* @param int rowCount 表示数据总数量
* @param int pagesize 每页显示的数量
* @param sting $pager
* @param params 表示页码的超链中除了page参数之外的其它参数
* @return string 表示分页的字符串
*/
public function showPage($page,$rowCount,$pagesize,$pager,$params){
//TODO: 数据分页显示
$count_page = ceil($rowCount/$pagesize);
if($page $count_page){
$page = $count_page;
}
$page1 = $page;
$page2 = $page;
/*循环出页数*/
for ($i = 0; $i 6; $i++) {
if ($page1 $count_page) {
break;
}
if ($page1 == $page) {
$rs1[] = $page1;
$page1++;
}else{
$rs1[] = 'a href="'.$pager.'?page='.$page1.$params.'"'.$page1.'/a';
$page1++;
}
}
for ($i = 0; $i 5; $i++) {
if ($page2 $count_page) {
break;
}
$page2--;
if ($page2 == 0) {
break;
}
$rs2[] = 'a href="'.$pager.'?page='.$page2.$params.'"'.$page2.'/a';
}
/*判断是否是第一页*/
if ($page == '1') {
$rs[] = '首页';
$rs[] = '上一页';
}else{
$rs[] = "a href=$pager?page=1 $params首页/a";
$rs[] = 'a href="'.$pager.'?page='.($page-1).$params.'"上一页/a';
}
@sort($rs2);
if($rs2){
foreach($rs2 as $value){
$rs[] = $value;
}
}
if($rs1){
foreach($rs1 as $value){
$rs[] = $value;
}
}
/*判断是否是最后一页*/
if ($page == $count_page) {
$rs[] = '下一页';
$rs[] = '尾页';
}else{
$rs[] = 'a href="'.$pager.'?page='.($page+1).$params.'"下一页/a';
$rs[] = "a href=$pager?page=$count_page $params尾页/a";
}
foreach($rs as $value){
$str .= $value.' ';
}
return $str;
}
}
//以下为示例
$ss = new PageHelper();
echo 'pre';
//var_dump($ss-createPage(3,10000,20,'sss.php','ss',15,15));
var_dump($ss-showPage(35,10000,20,'sss.php','type=1'));
?
你把这段代码复制了,然后粘贴到PHP文件里面运行一下就可以了
最后一行代码 里面的几个参数分别是
当前页数,数据总条数,每页显示多少条,需要跳转的页面,页数后面需要加的其它参数
Q4: ThinkPHP使用心得分享-分页类Page的用法
ThinkPHP中的Page类在ThinkPHP/Extend/Library/ORG/Util/Page.class.php中,所以使用前要引入Page类:
复制代码
代码如下:
import('ORG.Util.Page');
//Page类的引入
$db
=
M('abc');//实例化数据表abc
$where
=
array(
'id'='2';
);//条件语句$where,例表中字段id的值为2
$count
=
$db-where($where)-count();//获取符合条件的数据总数count
$page
=
new
Page($count,
10);//实例化page类,传入数据总数和每页显示10条内容
$limit
=
$page-firstRow
.
','
.
$page-listRows;//每页的数据数和内容$limit
$result
=$db-where($where))-limit($limit)-select();//分页查询结果
$this-result
=
$result;//赋值
$this-show
=
$page-show();//获取分页的底部信息
以上代码是分页类实现的基本语句,当然喜欢使用原生sql语句的朋友也可以配合原生sql语句实现查询分页:
复制代码
代码如下:
import('ORG.Util.Page');
//Page类的引入
$db
=
M('abc');//实例化数据表abc
$where
=
array(
'id'='2';
);//条件语句$where,例表中字段id的值为2
$count
=
$db-where($where)-count();//获取符合条件的数据总数count
$page
=
new
Page($count,
10);//实例化page类,传入数据总数和每页显示10条内容
$Modle
=
new
Model();//实例化新数据模型
$sql
=
'select
id,name
from
abc
where
'.$where.'
limit
'.$page-firstRow.','.$page-listRows;//sql语句
$result
=
$Modle-query($sql);//执行sql语句
$this-result
=
$result
$this-show=$page-show();
当然,分布查询获取的内容也可以先对查询完的数据进行处理再赋值,比如
复制代码
代码如下:
...
$result
=$db-where($where))-limit($limit)-select();//分页查询结果
$res
=
abc($result);//abc方法(自定义方法或php函数)对结果$result进行数据排序或重组处理等
$this-result
=
$res;//赋值
关于漂亮的php数据分页类和php实现分页显示的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







