导航:首页 > 编程语言 > php分页

php分页

发布时间:2022-02-12 22:43:35

php分页的代码

$page = $_REQUEST["page"];
function Page($rows,$page_size,$others=""){
global $page,$select_from,$select_limit,$pagenav;
if($page_size <= 1 || $page_size == '') $page_size = 20;
$page_count = ceil($rows/$page_size);
if($page <= 1 || $page == '') $page = 1;
if($page >= $page_count) $page = $page_count;
if($page <= 1) $page = 1;
$select_limit = $page_size;
$select_from = ($page - 1) * $page_size;
if($select_from<0) $select_from=0;
$select_from = $select_from.',';
$pre_page = ($page == 1)? 1 : $page - 1;
$next_page= ($page == $page_count)? $page_count : $page + 1 ;
$others =trim($others)?trim($others)."&":"";
$pagenav.="<div class='fanye MIB_txtbl left'>".$page."/".$page_count."页<em>共".$rows."条记录</em>".$page_size." 条/页 ";
$pagenav .= "<a href='?".$others."page=1' class='btn_num btn_numWidth'><b>首页</b></a>";
$pagenav .= "<a href='?".$others."page=$pre_page' class='btn_num btn_numWidth'><b>上一页</b></a>";
$pagenav .= "<a href='?".$others."page=$next_page' class='btn_num btn_numWidth'><b>下一页</b></a>";
$pagenav .= "<a href='?".$others."page=$page_count' class='btn_num btn_numWidth'><b>末页</b></a></div>";
$pagenav .= "<input type='text' id='page_inp' value='".$page."'/>";
$pagenav .= "<input type='image' src='templates/images/jump.gif' id='jump' onclick='window.location=\"?".$others."page=\"+document.getElementById(\"page_inp\").value'/>";

if($page_count<=1){
$pagenav="";
}
}
使用:
Page($count,$page_number,$page_condition);//$count总记录数,$page_number每页显示,$page_condition其他参数
直接输出
$pagenav就可以了
里面的展示可以自己修改吧
范例:
Page($count,$page_number,$page_condition);
$query ="select * from group limit $select_from $select_limit";
$groupinfo=mysql_query($query);
foreach($groupinfo as $key=>$value){//循环输出数据
echo "";

}
echo $pagenav;//输出分页

❷ php分页显示

<?
$sql="select * from table ";//查表
$res=mysql_query($sql);//取得结果
$nums=mysql_num_rows($res);//取得总记录数
$pagesize=15;//设定每页的记录数
$pages=ceil($nums/$pagesize);//取得总页数
if($pages<1){$pages=1;}//设定总页数至少1页
$page=$_GET[page];//取得传递过来的页数
if($page>$pages){$page=$pages;}//如果传递过来的页数比总页数还大,就让它等于总页数
if($page<1){$page=1;}//如果传递过来的页数小于1,就让他等于1
$kaishi=($page-1)*$pagesize;//为下一步做准备,limit的初始记录
$sql="select * from table order by id desc limit $kaishi,$pagesize";//取得记录从计算出的初始值开始,一共$pagesize条
$res=mysql_query($sql);//取得结果

while($arr=mysql_fetch_array($res))
{
echo $arr[id]."---".$arr[biaoti].'<br>';//输出记录的ID和标题
}
?>
下面是分页<br />
<a href="?page=1">首页</a> <a href="?page=<? echo $page-1;?>">上页</a> 当前第<? echo $page;?>页 <a href="?page=<? echo $page+1;?>">下页</a> <a href="?page=<? echo $pages;?>">尾页</a>

❸ 用PHP如何实现分页并能够实现上一页,下一页,跳转到()页的功能

<html><head>
<title>分页示例(php</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body>
<?php
$pagesize=10; //设定每一页显示的记录数

$conn=mysql_connect("localhost","root","jrq");
mysql_select_db("sj",$conn);
$rs = mysql_query( "select * from `dw_newsdata`",$conn); //这里有第二个可选参数,指定打开的连接
//-----------------------------------------------------------------------------------------------//
//分页逻辑处理
//-----------------------------------------------------------------------------------------------
$tmpArr = mysql_fetch_array($rs);
$numAL = mysql_num_rows($rs); //取得记录总数$rs
$pages=intval($numAL/$pagesize); //计算总页数

if ($numAL % $pagesize) $pages++;

//设置缺省页码
//↓判断“当前页码”是否赋值过
if (isset($_GET['page'])){ $page=intval($_GET['page']); }else{ $page=1; }//否则,设置为第一页

//↓计算记录偏移量
$offset=$pagesize*($page - 1);

//↓读取指定记录数
$rs=mysql_query("select * from `dw_newsdata` limit $offset,$pagesize",$conn);//取得—当前页—记录集!
$curNum = mysql_num_rows($rs); //$curNum - 当前页实际记录数,for循环输出用
?>
<table border="0" width="80%">
<tr>
<td width="50%" bgcolor="#E0E0E0">标题</td>
<td width="50%" bgcolor="#E0E0E0">发布时间</td>
</tr>

<?php
while ($tmpArr = mysql_fetch_array($rs)) //提取一行,并循环判断
{
$i=0;

// for($a=0;$a<$ColNum;$a++) //==for结束==
?>
<tr>
<td width="50%"><?= $tmpArr[1]; //$tmpArr["news_title"] ; ?></td>
<td width="50%"><?php echo $tmpArr[2]; //$tmpArr["news_cont"]; ?></td>
</tr>

<?php

}//==while结束==
?>
</table>

<?php
//============================//
// 翻页显示 一
//============================//
echo "<p>"; // align=center
$first=1;
$prev=$page-1;
$next=$page+1;
$last=$pages;

if ($page > 1)
{
echo "<a href='?page=".$first."'>首页</a> ";
echo "<a href='?page=".$prev."'>上一页</a> ";
}

if ($page < $pages)
{
echo "<a href='?page=".$next."'>下一页</a> ";
echo "<a href='?page=".$last."'>尾页</a> ";
}

//============================//
// 翻页显示 二
//============================//
echo " | 共有".$pages."页(".$page."/".$pages.")";

for ($i=1;$i< $page;$i++){echo "<a href='?page=".$i."'>[".$i ."]</a> ";} // 1-先输出当前页之前的

if ($page > 0) echo "[".$page."]";; // 2-再输出当前页

for ($i=$page+1;$i<=$pages;$i++){echo "<a href='?page=".$i."'>[".$i ."]</a> ";}// 3-接着输出当前页之后

echo "转到第 <INPUT maxLength=3 size=3 value=".($page+1)." name=gotox> 页 <INPUT hideFocus onclick=\"location.href='?page=gotox.value';\" type=button value=Go name=cmd_goto>";

echo "</p>";

?>

</body>
</html>

❹ 关于PHP分页

输出的SQL语句是什么。

❺ php接口实现分页 怎么弄

如果总共只有10条、20条,那么一般最佳办法是:全部都输出到页面上,可以没5条一个DIV,只显示其中一个,把其它的隐藏了,通过按钮点击显示不同的DIV出来。

如果总共数据成千上万条,那么页面一次就只输出5条,通过给PHP一个参数显示第几页,每次从总数据清单里面不同的位置开始显示5条。

❻ php 页面 局部 分页

你的需求是实现局部刷新,然而最常用的最有效率的还是ajax!
至于你说的详细分析师什么啊?实现方式么?ajax步骤如下:
1、点击翻页就发送ajax请求;
2、后台处理请求然后返回分页数据;
3、前台empty()清空之前内容;
4、用append()或appendTo()来进行代码追加实现局部刷新。
希望对你有所帮助!

❼ 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. "条主题 当前第" . $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怎么制作分页

方法/步骤

首先要了解下分页的原理即
SELECT * FROM table …… limit 开始位置 , 操作条数
开始位置从0开始
SELECT * FROM table …… limit 0 , 20
取最前面20条
SELECT * FROM table …… limit 10 , 20
11条到20条
其次分页要用的公式
得到公式
(当前页数 - 1 )X 每页条数 , 每页条数
Select * from table limit ($Page- 1) * $PageSize, $PageSize

还要了解parse_url()解析URL函数
parse_url() 是讲URL解析成有固定键值的数组的函数
$ua=parse_url("http://username:password@hostname/path?arg=value#anchor");
print_r($ua);
结果:
Array
(
[scheme] => http
[host] => hostname
[user] => username
[pass] => password
[path] => /path
[query] => arg=value
[fragment] => anchor
)

创建数据库bbs和表test有
CREATE TABLE `test` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(50) character set gb2312 NOT NULL,
`sex` varchar(2) character set gb2312 NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;
然后插入十几条测试数据即可

写mysql数据库连接代码保存conn.php文件里
代码如下
<?php
$conn = @ mysql_connect("localhost", "root", "") or die("数据库链接错误");
mysql_select_db("bbs", $conn);
mysql_query("set names 'GBK'"); //使用GBK中文编码;
function htmtocode($content) {
$content = str_replace("\n", "<br>", str_replace(" ", " ", $content));
return $content;
}
//$content=str_replace("'","'",$content);
//htmlspecialchars();
?>

写分页函数page.php
代码如下
<?php
function _PAGEFT($totle, $displaypg = 20, $url = '') {
global $page, $firstcount, $pagenav, $_SERVER;
$GLOBALS["displaypg"] = $displaypg;
if (!$page)
$page = 1;
if (!$url) {
$url = $_SERVER["REQUEST_URI"];
}
//URL分析:
$parse_url = parse_url($url);
$url_query = $parse_url["query"]; //单独取出URL的查询字串
if ($url_query) {
$url_query = ereg_replace("(^|&)page=$page", "", $url_query);
$url = str_replace($parse_url["query"], $url_query, $url);
if ($url_query)
$url .= "&page";
else
$url .= "page";
} else {
$url .= "?page";
}
$lastpg = ceil($totle / $displaypg); //最后页,也是总页数
$page = min($lastpg, $page);
$prepg = $page -1; //上一页
$nextpg = ($page == $lastpg ? 0 : $page +1); //下一页
$firstcount = ($page -1) * $displaypg;
//开始分页导航条代码:
$pagenav = "显示第 <B>" . ($totle ? ($firstcount +1) : 0) . "</B>-<B>" . min($firstcount + $displaypg, $totle) . "</B> 条记录,共 $totle 条记录";
//如果只有一页则跳出函数:
if ($lastpg <= 1)
return false;
$pagenav .= " <a href='$url=1'>首页</a> ";
if ($prepg)
$pagenav .= " <a href='$url=$prepg'>前页</a> ";
else
$pagenav .= " 前页 ";
if ($nextpg)
$pagenav .= " <a href='$url=$nextpg'>后页</a> ";
else
$pagenav .= " 后页 ";
$pagenav .= " <a href='$url=$lastpg'>尾页</a> ";
//下拉跳转列表,循环列出所有页码:
$pagenav .= " 到第 <select name='topage' size='1' onchange='window.location=\"$url=\"+this.value'>\n";
for ($i = 1; $i <= $lastpg; $i++) {
if ($i == $page)
$pagenav .= "<option value='$i' selected>$i</option>\n";
else
$pagenav .= "<option value='$i'>$i</option>\n";
}
$pagenav .= "</select> 页,共 $lastpg 页";
}
include("conn.php");
$result=mysql_query("SELECT * FROM `test`");
$total=mysql_num_rows($result);
//调用pageft(),每页显示10条信息(使用默认的20时,可以省略此参数),使用本页URL(默认,所以省略掉).
_PAGEFT($total,5);
echo $pagenav;
$result=mysql_query("SELECT * FROM `test` limit $firstcount,$displaypg ");
while($row=mysql_fetch_array($result)){
echo "<hr><b>".$row[name]." | ".$row[sex];
}
?>
调用数据和分页list.php
<?php
/**
* 爱微网 www.iiwnet.com/php/
*/
include("conn.php");
$pagesize=5;
$url=$_SERVER["REQUEST_URI"];
$url=parse_url($url);
$url=$url[path];
$numq=mysql_query("SELECT * FROM `test`");
$num = mysql_num_rows($numq);
if($_GET[page]){
$pageval=$_GET[page];
$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>";
}
echo $SQL="SELECT * FROM `test` limit $page $pagesize ";
$query=mysql_query($SQL);
while($row=mysql_fetch_array($query)){
echo "<hr><b>".$row[name]." | ".$row[sex];
}
?>

注意事项

注意分页公式写法你只要记住即可;
(当前页数 - 1 )X 每页条数 , 每页条数;
Select * from table limit ($Page- 1) * $PageSize, $PageSize;
注意三个代码文件在同一个目录下;
主要是最后的list.php调用代码要细看很有用。

阅读全文

与php分页相关的资料

热点内容
看帧率app如何使用 浏览:523
从DHC服务器租用IP地址 浏览:473
编译怎么学 浏览:329
数码管显示0到9plc编程 浏览:665
服务器是为什么服务的 浏览:765
java定义数据类型 浏览:874
安卓pdf手写 浏览:427
什么是app开发者 浏览:284
android闹钟重启 浏览:101
程序员失职 浏览:518
在云服务器怎么改密码 浏览:586
服务器pb什么意思 浏览:940
51驾驶员的是什么app 浏览:670
php静态变量销毁 浏览:886
编程买苹果电脑 浏览:762
flac算法 浏览:499
reactnative与android 浏览:665
程序员是干什么的工作好吗 浏览:258
kbuild编译ko 浏览:471
条件编译的宏 浏览:566