本文目录一览:
PHP中通过什么字句实现分页功能
写法有很多种,比如: HTML页面中: JS:
$.get("1.php",{参数},function(data){
$("#shi").html(data);
});
即当点击上一页或下一页时触发一个函数,执行上面的代码,把返回的内容放在 #shi
中。
data
就是 PHP 文件返回的内容;那个 SQL 语句应该是这样写的吧:
SELECT * FROM table ORDER BY id DESC LIMIT ($page-1)*每页个数,($page)*每页个数
这里用到了 jQuery。 其它还有一种思路,就是当第一次加载时,把所有的内容都从数据库里读出来了,然后在浏览器用 JS 处理分页,在 PHP 发送数据时最好用 JSON 格式,这样更好处理。
关于PHP分页
一个分页函数,赋好值就可以使用了:
/*
'PID 页面中的其它传参连接
'page 要显示的页码
'Vcount 总记录数
'Pnum 每页记录数
'className 超连接样式
*/
function ThePage($Pid, $page=1, $Vcount, $Pnum, $className){
$Pcount = ceil($Vcount/$Pnum);
if($page > $Pcount) $page = $Pcount;
$StartPageNum = 1;
while($StartPageNum + 10 <= $page){
$StartPageNum = $StartPageNum + 10;
}
$EndPageNum = $StartPageNum + 9;
if($EndPageNum > $Pcount) $EndPageNum = $Pcount;
$show = $show."<tr><td colspan='10' bgcolor='' align='right' style='padding-right:25px;padding-top:5px;' class='".$className."'";
$show = $show."'>共<b>".$Pcount."</b>页 共有<b>".$Vcount."</b>记录 第<b>".$page."</b>页 跳到第 [ ";
if($StartPageNum > 1) $show = $show."<a class='".$className."' href='?".$Pid."page=".($StartPageNum-1)."' title='前十页'><font face='webdings'>7</font></a>";
for($go = $StartPageNum; $go <= $EndPageNum; $go++){
if($go != $page){
$show = $show."<a class='".$className."' href='?".$Pid."page=".$go."'>".$go."</a>";
}else{
$show = $show."<b>".$go."</b>";
}
$show = $show." ";
}
if($EndPageNum < $Pcount) $show = $show."<a class='".$className."' href='?".$Pid."page=".($EndPageNum+1)."' title='下十页'><font face='webdings'>8</font></a>";
$show = $show."] 页";
if($page != 1) $show = $show."<a class='".$className."' href='?".$Pid."page=1'>首页</a> <a class='".$className."' href='?".$Pid."page=".($page-1)."'>上一页</a>";
if($Pcount - $page != 0) $show = $show. " <a class='".$className."' href='?".$Pid."page=".($page+1)."'>下一页</a> <a class='".$className."' href='?".$Pid."page=".$Pcount."'>尾页</a>";
$show = $show."</tr></td>";
return $show;
}
附带一个使用例子:
// 设置参数
$page = $_REQUEST["page"];
if($page == "") $page = 1;
$T = $_GET["T"];
if($T == "") $T = 1;
$Pid = "T=".$T;
$wheresql = "WHERE T = ".$T;
$recordListTable = "zc_news";
$Pnum = 10;
$classname = "lwf";
// 以下不用修改
$rs = mysql_query("SELECT COUNT(*) FROM `".$recordListTable."` $wheresql");
$Vcount = @mysql_result($rs,0);
@mysql_free_result($rs);
$start = ($page - 1) * $Pnum;
$lastNum = $Vcount - ($page - 1) * $Pnum;
$limit = $lastNum > $Pnum ? $Pnum : $lastNum;
$rs = mysql_query("SELECT * FROM `".$recordListTable."` $wheresql ORDER BY orderid DESC, ID DESC LIMIT $start,$limit");
while($ary = mysql_fetch_array($rs)){
?>
<tr>
<td>标题</td>
</tr>
<?php
}
@mysql_free_result($rs);
echo ThePage($Pid, $page, $Vcount, $Pnum, $classname);
?>
求个好心人帮我给一个PHP源码添加个分页显示功能。。 图如下。。 扣153645687、非常感谢。。。
给你发个分页的代码,你自己看下,我写的读取新闻标题然后分页的代码:
<?php include('include/head.php') ?>
<?php
include('include/conn.php');
$pagesize = 10;
$sql = "SELECT * FROM news_db";
$rs = mysql_query($sql);
$recordcount = mysql_num_rows($rs);
$pagecount = ($recordcount - 1) / $pagesize + 1;
$pagecount = (int)$pagecount;
$pageno = $_GET["pageno"];
if($pageno == ""){
$pageno = 1;
}
if($pageno < 1){
$pageno = 1;
}
if($pageno > $pagecount){
$pageno = $pagecount;
}
$startno = ($pageno - 1) * $pagesize;
$sql = "SELECT * FROM news_db ORDER BY news_id DESC LIMIT $startno,$pagesize";
$rs = mysql_query($sql);
?>
<div class="mm" style="margin-bottom:6px;">
<?php include("include/left.php"); ?>
<div class="mmr">
<div class="mmr_t"><strong>当前位置:</strong> Home > 公益资讯</div>
<div class="mmr_m">
<div class="mmr_rm">
<ul>
<?php
while($rows = mysql_fetch_assoc($rs)){
?>
<li>·<a href="news.php?id=<?=$rows['news_id']?>"><?= $rows["news_title"]; ?></a></li>
<?php
}
?>
<li class="new">
<?php
if($pageno == 1){
?>
首页 | 上一页 | <a href="?pageno=<?= $pageno+1 ?>">下一页</a> | <a href="?pageno=<?= $pagecount ?>">末页</a>
<?php
} else if($pageno == $pagecount){
?>
<a href="?pageno=1">首页</a> | <a href="?pageno=<?= $pageno-1 ?>">上一页</a> | 下一页 | 末页
<?php
} else {
?>
<a href="?pageno=1">首页</a> | <a href="?pageno=<?= $pageno-1 ?>">上一页</a> | <a href="?pageno=<?= $pageno+1 ?>">下一页</a> | <a href="?pageno=<?= $pagecount ?>">末页</a>
<?php
}
?>
页次:<?= $pageno ?>/<?= $pagecount ?>页 共有<?= $recordcount ?>条信息
</li>
</ul>
</div>
</div>
</div>
<div class="blank"></div>
</div>
<div class="link">
<div class="link_t">
<img src="images/yq.gif" /> 相关链接
</div>
<div class="link_m">
<b>友情链接</b>:
</div>
</div>
<?php include('include/foot.php'); ?>