分享php分页的功能模块(php数组分页)

发布时间:2022-11-08

本文目录一览:

  1. PHP中通过什么字句实现分页功能
  2. 关于PHP分页
  3. 求个好心人帮我给一个PHP源码添加个分页显示功能。。 图如下。。 扣153645687、非常感谢。。。

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'); ?>