php分页功能实现(分页的实现)

本文目录一览:

php怎么实现无刷新分页效果

php+ajax实现无刷新分页实现方法具体如下:

limit 偏移量,长度;

limit 0,7; 第一页

limit 7,7; 第二页

limit 14,7; 第三页

每页信息条数:7

信息总条数:select count(*) from table

信息总页数:ceil向上取整(总条数/每页条数)

1、分页类具体使用

?php

class Pagination {

private $total; //数据表中总记录数

private $listRows; //每页显示行数

private $limit; //mysql 数据库的limit

private $uri; //分页信息前面的uri地址

private $pageNum; //页数

private $config = array(‘header’ = “个记录”, “prev” = “【上一页】”, “next” = “【下一页】”, “first” = “【首 页】”, “last” = “【尾 页】”);

private $listNum = 8;

/*

* $total 当前信息总条数

* $listRows 每页显示的条数

* $pa 下面的page

http://网址/index.php?page=5

*/

public function __construct($total, $listRows = 10, $pa = “”) {

$this-total = $total;

$this-listRows = $listRows;

$this-uri = $this-getUri($pa);

$this-page = !empty($_GET[“page”]) ? $_GET[“page”] : 1;//不传入page,则默认显示首页

$this-pageNum = ceil($this-total / $this-listRows);

$this-limit = $this-setLimit();

}

//设置每页显示的条数

private function setLimit() {

return “Limit ” . ($this-page – 1) * $this-listRows . “, {$this-listRows}”;

}

//获得URL地址

private function getUri($pa) {

$url = $_SERVER[“REQUEST_URI”] . (strpos($_SERVER[“REQUEST_URI”], ‘?’) ? ” : “?”) . $pa;

$parse = parse_url($url);

if (isset($parse[“query”])) {

parse_str($parse[‘query’], $params);

unset($params[“page”]);

$url = $parse[‘path’] . ‘?’ . http_build_query($params);

}

return $url;

}

//魔术方法,

public function __get($args) {

if ($args == “limit”)

return $this-limit;

else

return null;

}

//页面开始的条数

private function start() {

if ($this-total == 0)

return 0;

else

return ($this-page – 1) * $this-listRows + 1;

}

//页面结束的条数

private function end() {

return min($this-page * $this-listRows, $this-total);

}

/*设置首页*/

private function first() {

$html = “”;

if ($this-page == 1)

$html.=’ ‘.$this-config[“first”].’ ‘;

else

$html.=” a href=’javascript:void(0)’ onclick=’showPage(\”{$this-uri}page=1\”)'{$this-config[“first”]}/a “;

//$html.=” a href='{$this-uri}page=1′{$this-config[“first”]}/a “;

return $html;

}

/*设置上一页*/

private function prev() {

$html = “”;

if ($this-page == 1)

$html.=’ ‘.$this-config[“prev”].’ ‘;

else

$html.=” a href=’javascript:void(0)’ onclick=’showPage(\”{$this-uri}page=” . ($this-page – 1) . “\”)'{$this-config[“prev”]}/a “;

//$html.=” a href='{$this-uri}page=”.($this-page-1).”‘{$this-config[“prev”]}/a “;

return $html;

}

//页码列表【首页】【2】【3】…………【尾页】

private function pageList() {

$linkPage = “”;

$inum = floor($this-listNum / 2);

for ($i = $inum; $i = 1; $i–) {

$page = $this-page – $i;

if ($page 1)

continue;

$linkPage.=” a href=’javascript:void(0)’ onclick=’showPage(\”{$this-uri}page={$page}\”)'{$page}/a “;

}

$linkPage.=” {$this-page} “;

for ($i = 1; $i = $inum; $i++) {

$page = $this-page + $i;

if ($page = $this-pageNum)

$linkPage.=” a href=’javascript:void(0)’ onclick=’showPage(\”{$this-uri}page={$page}\”)'{$page}/a “;

else

break;

}

return $linkPage;

}

/*设置下一页*/

private function next() {

$html = “”;

if ($this-page == $this-pageNum)

$html.=’ ‘.$this-config[“next”].’ ‘;

else

$html.=” a href=’javascript:void(0)’ onclick=’showPage(\”{$this-uri}page=” . ($this-page + 1) . “\”)'{$this-config[“next”]}/a “;

//$html.=” a href='{$this-uri}page=”.($this-page + 1).”‘{$this-config[“next”]}/a “;

return $html;

}

/*设置尾页*/

private function last() {

$html = “”;

if ($this-page == $this-pageNum)

$html.=’ ‘.$this-config[“last”].’ ‘;

else

$html.=” a href=’javascript:void(0)’ onclick=’showPage(\”{$this-uri}page=” . ($this-pageNum) . “\”)'{$this-config[“last”]}/a “;

//$html.=” a href='{$this-uri}page=.(this-pageNum).'{$this-config[“last”]}/a “;

return $html;

}

/*设置页面跳转*/

private function goPage() {

return

‘ input type=”text” onkeydown=”javascript:if(event.keyCode==13){var page=(this.value’ . $this-pageNum . ‘)?’ . $this-pageNum . ‘:this.value;showPage(\” . $this-uri . ‘page=\’+page+\’\’)}” value=”‘ . $this-page . ‘” style=”width:25px”

input type=”button” value=”GO” onclick=”javascript:var page=(this.previousSibling.value’ . $this-pageNum . ‘)?’ . $this-pageNum . ‘:this.previousSibling.value;showPage(\” . $this-uri . ‘page=\’+page+\’\’)” ‘;

}

//页面列表配置选项

function fpage($display = array(0, 1, 2, 3, 4, 5, 6, 7, 8)) {

$html[0] = ” 共有b{$this-total}/b{$this-config[“header”]} “;

$html[1] = ” 每页显示b” . ($this-end() – $this-start() + 1) . “/b条,本页b{$this-start()}-{$this-end()}/b条 “;

$html[2] = ” b{$this-page}/{$this-pageNum}/b页 “;

$html[3] = $this-first();

$html[4] = $this-prev();

$html[5] = $this-pageList();

$html[6] = $this-next();

$html[7] = $this-last();

$html[8] = $this-goPage();

$fpage = ”;

foreach ($display as $index) {

$fpage.=$html[$index];

}

return $fpage;

}

}

2 数据显示

?php

//链接数据库

//获得具体信息

//分页显示

header(“content-type:text/html;charset=utf-8”);

$link = mysql_connect(‘localhost’,’root’,’111111′);

mysql_select_db(‘shop’, $link);

mysql_query(“set names utf8”);

$css = eof

style type=”text/css”

table {border:1px solid black; width:700px; margin:auto; border-collapse:collapse;}

td {border:1px solid black; }

/style

eof;

echo $css;

echo “

table

trtd序号/tdtd名称/tdtd数量/tdtd价格/tdtd时间/td/tr

“;

//1 引入分页类

include “./Pagination.php”;

//2. 获得信息总条数

$sql = “select * from sw_goods”;

$qry = mysql_query($sql);

$total = mysql_num_rows($qry);

$per = 7;

//3. 实例化分页类对象

$page_obj = new Pagination($total,$per);

//4. 拼装sql语句,获得每页信息

//利用page_obj实现limit的灵活设置

//$page_obj – limit;

$sqla = “select * from sw_goods “.$page_obj-limit;

$qrya = mysql_query($sqla);

//5. 获得页面列表

$pagelist = $page_obj – fpage(array(3,4,5,6,7,8));

$i=1;

while($rsta = mysql_fetch_assoc($qrya)){

echo “tr”;

echo “td”.$i++.”/td”;

echo “td”.$rsta[‘goods_name’].”/td”;

echo “td”.$rsta[‘goods_number’].”/td”;

echo “td”.$rsta[‘goods_price’].”/td”;

echo “td”.date(“Y-m-d H:i:s”,$rsta[‘goods_create_time’]).”/td”;

echo “/tr”;

}

echo “trtd colspan=5″.$pagelist.”/td/tr”;

echo “/table”;

3 ajax无刷新分页实现

open(‘get’,’http://网址/index.php?page=2′)

!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “”

html

head

title新建网页/title

meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ /

meta name=”description” content=”” /

meta name=”keywords” content=”” /

script type=”text/javascript”

//获得分页信息ajax函数

function showPage(myurl){

var xhr = new XMLHttpRequest();

xhr.onreadystatechange = function(){

if(xhr.readyState==4){

var rst = document.getElementById(“result”);

rst.innerHTML = xhr.responseText;

}

}

xhr.open(“get”,myurl);

xhr.send(null);

}

window.onload = function(){

showPage(“./data1.php”); //获得分页信息

//showPage(“./data.php?page=2”);

}

/script

style type=”text/css”

/style

/head

body

h2ajax无刷新分页效果/h2

div id=”result”/div

/body

/html

script type=”text/javascript”

document.write(new Date()+”br /”);

document.write(new Date()+”br /”);

document.write(new Date()+”br /”);

document.write(new Date()+”br /”);

/script

PHP中通过什么字句实现分页功能

写法有很多种,比如:

html页面中:

js:

$.get(“1.php”,{参数},function(data)

{

$(“#shi”).html(data);

});

即当点击上一页或下一页时触发一个函数,执行上面的代码,把返回的内容放在

这里

data就是php 文件返回的内容;那个sql语句应该是这样写的吧:

select * from table order by id desc limit ($page-1)*每页个数,($page)*每页个数

这里用到了jquery.

其它还有一种思路,就是当第一次加载时,把所有的内容都从数据库里读出来了,然后在浏览器用js处理分页,在php发送数据时最好用json格式,这样更好处理

php怎么实现分页

/**

* 获取分页的HTML内容

* @param integer $page 当前页

* @param integer $pages 总页数

* @param string $url 跳转url地址 最后的页数以 ‘page=x’ 追加在url后面

*

* @return string HTML内容;

*/

public static function getPageHtml($page, $pages, $url){

//最多显示多少个页码

$_pageNum = 5;

//当前页面小于1 则为1

$page = $page1?1:$page;

//当前页大于总页数 则为总页数

$page = $page $pages ? $pages : $page;

//页数小当前页 则为当前页

$pages = $pages $page ? $page : $pages;

//计算开始页

$_start = $page – floor($_pageNum/2);

$_start = $_start1 ? 1 : $_start;

//计算结束页

$_end = $page + floor($_pageNum/2);

$_end = $_end$pages? $pages : $_end;

//当前显示的页码个数不够最大页码数,在进行左右调整

$_curPageNum = $_end-$_start+1;

//左调整

if($_curPageNum$_pageNum $_start1){

$_start = $_start – ($_pageNum-$_curPageNum);

$_start = $_start1 ? 1 : $_start;

$_curPageNum = $_end-$_start+1;

}

//右边调整

if($_curPageNum$_pageNum $_end$pages){

$_end = $_end + ($_pageNum-$_curPageNum);

$_end = $_end$pages? $pages : $_end;

}

$_pageHtml = ‘ul class=”pagination”‘;

/*if($_start == 1){

$_pageHtml .= ‘lia title=”第一页”«/a/li’;

}else{

$_pageHtml .= ‘lia title=”第一页” href=”‘.$url.’page=1″«/a/li’;

}*/

if($page1){

$_pageHtml .= ‘lia title=”上一页” href=”‘.$url.’page=’.($page-1).'”«/a/li’;

}

for ($i = $_start; $i = $_end; $i++) {

if($i == $page){

$_pageHtml .= ‘li class=”active”a’.$i.’/a/li’;

}else{

$_pageHtml .= ‘lia href=”‘.$url.’page=’.$i.'”‘.$i.’/a/li’;

}

}

/*if($_end == $pages){

$_pageHtml .= ‘lia title=”最后一页”»/a/li’;

}else{

$_pageHtml .= ‘lia title=”最后一页” href=”‘.$url.’page=’.$pages.'”»/a/li’;

}*/

if($page$_end){

$_pageHtml .= ‘lia title=”下一页” href=”‘.$url.’page=’.($page+1).'”»/a/li’;

}

$_pageHtml .= ‘/ul’;

echo $_pageHtml;

}

PHP如何实现分页显示?

【文件名】: c_mysql_page.inc // 【作 用】: MySQL分页函数类 // 【作 者】: 天灰 // // 【最后修改日期】: 2001/07/16[cxx] // 【变量定义规则】:‘C_’=字符型,‘I_’=整型,‘N_’=数字型,‘L_’=布尔型,‘A_’=数组型 //—————————————————————————————— //—————————————————————————————— // ※c_mysql_page() 构造函数,设置分页初始参数 // ※page_standard() 分页显示函数(标准型) // ※GetRecordStartEnd() 获得取记录的开始结束位置 // ※getmaxpage() 获得记录集的最大页数 // ※checkpage() 检查当前页数是否在0和最大页数之间 //—————————————————————————————— class c_mysql_page { //—————————————————————————————— // 变量定义 //—————————————————————————————— var $I_pagesize = 10; //每页记录数 var $C_width = ‘80%’; //表格宽度 //—————————————————————————————— //—————————————————————————————— // 函数名:c_mysql_page ($I_pagesize, $c_width) // 作 用:构造函数,设置分页初始参数 // 参 数:$I_pagesize, $c_width // 返回值:变量 // 备 注:构造函数随着类的建立而自动执行 //—————————————————————————————— function c_mysql_page ($I_pagesize=10, $C_width=’80%’) { if (isset($I_pagesize)){$this – I_pagesize = $I_pagesize;} if (isset($C_width)){$this – C_width = $C_width;} } //—————————————————————————————— // 函数名:page_standard($I_sumrecord,$C_page,$C_url=”self”,$C_otherpara=””) // 作 用:分页显示函数(标准型) // 参 数:$I_sumrecord 记录总数 // $C_url URL // $C_page URL后的参数 // $C_otherpara URL后的参数2 // $bgcolor 表格的背景颜色 // 返回值: // 备 注:无 //—————————————————————————————— function page_standard($I_sumrecord,$C_page,$C_url=”self”,$C_otherpara=””,$bgcolor=””) { //检查参数 if ((!$I_sumrecord) || (!$C_page)){AlertExit(“参数不全!”);} global $PHP_SELF,$$C_page; //全局变量$C_page //检测$I_pagesize是否合法 if($this – I_pagesize 1){AlertExit(“请设定每页的记录数!”);} if($I_sumrecord 1){return false;} //检测总记录数 if($C_url == “self”){$C_url = $PHP_SELF;} //设置URL $I_page = $$C_page; //重新赋当前页值 $I_maxpage = $this – getmaxpage($I_sumrecord); //取出总页数 $I_page = $this – checkPage($I_maxpage,$I_page); //检查当前页号 //显示表 echo “”; echo “”; echo “共” . $I_sumrecord. “条主题nbsp当前第” . $I_page . “/”. $I_maxpage. “页”; if ($I_maxpage 1) { echo “”; if($I_page 1 $I_page $I_maxpage) { echo “首页”; $pre=$I_page-1; echo “上页”; $next=$I_page+1; echo “下页”; echo “末页”; } elseif($I_page == 1) { $next = $I_page+1; echo “下页”; echo “末页”; } elseif($I_page == $I_maxpage) { echo “首页”; $pre=$I_page-1; echo “上页”; } //显示select echo “转到”; echo “”;//OnChange=”.WindowLocation($C_url,$C_otherpara,$C_page).” for($i=1;$i I_pagesize; $I_pagesize = $this – I_pagesize; } //—————————————————————————————— //—————————————————————————————— // 函数名:getmaxpage($intRecordNum) // 作 用:获得记录集的最大页数 // 参 数:$I_sumrecord 记录总数 // 返回值:最大页数$I_maxpage(整型) // 备 注:无 //—————————————————————————————— function getmaxpage($I_sumrecord) { if (!$I_sumrecord){AlertExit(“参数不全!

php 长文章怎么在显示时实现分页

有种偷懒的做法。就是文章太长。就是显示一段,隐藏另外段落。

文章在后台发布肯定是通过WEB编辑器进行的,对吧!你可以在编辑器上增加文章分页显示功能。具体的原理是这样的,你在想要分页的地方插入你自己定义的标记符号比如#page#,插入到数据库中的HTML代码中就会有这样的#page#的代码。在前台看的时候,通过程序处理。把文字HTML中有#page#这样的东西。进行下翻译成文章分页即可!有几个#page#就可以判断在当初在后台设置过分几页显示。生成一段JS代码、控制DIV的显示隐藏就可以实现分页效果。

原创文章,作者:AIIYN,如若转载,请注明出处:https://www.506064.com/n/318034.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
AIIYN的头像AIIYN
上一篇 2025-01-11 16:28
下一篇 2025-01-11 16:28

相关推荐

  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • jQuery Datatable分页中文

    jQuery Datatable是一个非常流行的数据表插件,它可以帮助您快速地在页面上创建搜索、过滤、排序和分页的数据表格。不过,它的默认设置是英文的,今天我们就来探讨如何将jQu…

    编程 2025-04-29
  • PHP怎么接币

    想要在自己的网站或应用中接受比特币等加密货币的支付,就需要对该加密货币拥有一定的了解,并使用对应的API进行开发。本文将从多个方面详细阐述如何使用PHP接受加密货币的支付。 一、环…

    编程 2025-04-29
  • Java和Python哪个功能更好

    对于Java和Python这两种编程语言,究竟哪一种更好?这个问题并没有一个简单的答案。下面我将从多个方面来对Java和Python进行比较,帮助读者了解它们的优势和劣势,以便选择…

    编程 2025-04-29
  • Python每次运行变量加一:实现计数器功能

    Python编程语言中,每次执行程序都需要定义变量,而在实际开发中常常需要对变量进行计数或者累加操作,这时就需要了解如何在Python中实现计数器功能。本文将从以下几个方面详细讲解…

    编程 2025-04-28
  • 使用PHP foreach遍历有相同属性的值

    本篇文章将介绍如何使用PHP foreach遍历具有相同属性的值,并给出相应的代码示例。 一、基础概念 在讲解如何使用PHP foreach遍历有相同属性的值之前,我们需要先了解几…

    编程 2025-04-28
  • Python strip()函数的功能和用法用法介绍

    Python的strip()函数用于删除字符串开头和结尾的空格,包括\n、\t等字符。本篇文章将从用法、功能以及与其他函数的比较等多个方面对strip()函数进行详细讲解。 一、基…

    编程 2025-04-28
  • 全能的wpitl实现各种功能的代码示例

    wpitl是一款强大、灵活、易于使用的编程工具,可以实现各种功能。下面将从多个方面对wpitl进行详细的阐述,每个方面都会列举2~3个代码示例。 一、文件操作 1、读取文件 fil…

    编程 2025-04-27
  • PHP获取301跳转后的地址

    本文将为大家介绍如何使用PHP获取301跳转后的地址。301重定向是什么呢?当我们访问一个网页A,但是它已经被迁移到了另一个地址B,此时若服务器端做了301重定向,那么你的浏览器在…

    编程 2025-04-27
  • PHP登录页面代码实现

    本文将从多个方面详细阐述如何使用PHP编写一个简单的登录页面。 1. PHP登录页面基本架构 在PHP登录页面中,需要包含HTML表单,用户在表单中输入账号密码等信息,提交表单后服…

    编程 2025-04-27

发表回复

登录后才能评论