PHP+mysql分页设计实例

来源:互联网 发布:淘宝外链图片怎么搬家 编辑:程序博客网 时间:2024/06/05 06:32
效果如图
一共三个文件:hytz.php展示页,不同的内容需要制作不同的展示页<?php //会议通知-首页    include ("menu.php");    include ("head.php");?><?php    $keshi=$_SESSION["ywclkeshi"];                        $pagesql="select keshi,fw from hytz where keshi='$keshi' or fw=1";    $pageresult=mysql_query($pagesql);        if ($pageresult)    {?><table width="80%" border="0" class="youbian" align="center" cellpadding="4" cellspacing="1">    <caption><a href="index.php"><img src="images/home.png"class="t3"/></a>    <a href="javascript:window.history.go(-1)"><img src="images/undo.png" width="32" height="32" class="t3"/></a>    会议通知</caption>          <thead>      <tr class="touming">        <th colspan="4" align="left">        <a href="hytz_add.php"><img src="images/add.png" alt="" class="t2" border="0"/>添加</a>        <a href="javascript:window.print();"><img src="images/printer.png" class="t2">打印</a>        </th>        </tr>          <tr>            <th width="7%">序号</th>            <th width="72%">标题</th>            <th width="14%">发布日期</th>        <?php                if($_SESSION['ywcljibie']=="科级")//如果是科长则显示删除            {            ?>            <th width="7%">删除</th>         <?php }?>        </tr>      </thead>        <?php            $totalnum=mysql_num_rows($pageresult);//取得记数总数                        include("pages.php");                        $sql="select id,title,fbrq from hytz where (keshi='$keshi' or fw=1) order by id desc limit $startnum,$perpagenum";//读取指定记录数            $i=$perpagenum*($page-1)+1;            $result=mysql_query($sql);            $numrows=mysql_num_rows($result);            if ($numrows>0)            {                while($data=mysql_fetch_array($result))                {                    $count+=1;                    $id=$data['id'];                    $title=$data['title'];                                            $fbrq=$data['fbrq'];                            ?>                        <tr align="center" class="hx">                               <td class="hx"><?php echo $count+($page-1)*$perpagenum;?></td>                            <td align="left"><a href="hytz_show.php?id=<?php echo $id;?>"><?php echo $title;?></a></td>                            <td>                            <?php  //五天之内的通知红色显示                                $jtrq=date('Y-m-d',time());                                $xcrq=(strtotime($jtrq)-strtotime($fbrq))/86400;                                if ($xcrq<5)                                {                                    echo "<font color=\"red\">$fbrq</font>";                                }                                else                                {                                    echo $fbrq;                                }                             ?></td>                        <?php                                    if($_SESSION['ywcljibie']=="科级")//如果是科长则显示删除                            {            ?>                            <td><a href="hytz_delete.php?id=<?php echo $id;?>"><img src="images/err.png" class="t1" border="0"/></a></td>                        <?php }?>                        </tr>            <?php } ?>                        <?php } ?></table><?php    include("pagesdh.php");    }//最外层的$if ($totalnum>0)?><?php    include("foot.php");?>



pages.php分页用的,可重复使用

<?php //产生分页与分页导航pagesdh.php搭配使用    //查询数据库中一共有多少条数据    $perpagenum=10;//设置每一页显示的最大记录数       $total= $totalnum;//获取记录总数       if($_GET['page']=="")//给当前页page赋值,如果未赋值则为1    {    $page=1;    }    else    {    $page=$_GET['page'];    }       //获得当前页    $startnum = ($page-1)*$perpagenum;//每页的起始位置       if($page>1)//给前一页per赋值,如果大于1则减一,否则赋值1        {$per=$page-1;}    else        {$per=1;}           if($total%$perpagenum==0)//计算总页数,用总记录数除于每页最大记数,如果整除的话则取商,如果不能整除则取商+1        {$totalpage=$total/$perpagenum;}    else        {$totalpage=(integer)($total/$perpagenum)+1;}           $next=$page+1;//给下一页next赋值,正常为+1,如果next大于总页数则next赋值为总页数    if($next>=$totalpage)        {$next=$totalpage;}?>



pagesdh.php分页器底部,可以重复使用


<!--分页导航与分页pages.php搭配使用。超级链接的显示样式见zhpt.css的a.fy--><h2 align="center"><?php    if ($page!=1 and $totalpage!=1){?>    <a class="fy" href="<?php $_SERVER['PHP_SELF'];?>?page=1">首页</a><!--首页链接--><?php }?><?php    if ($page>1){?>    <a class="fy" href="<?php $_SERVER['PHP_SELF'];?>?page=<?php echo $per;?>">上一页</a><!--上一页链接-->  <?php }?>    <!--当前页前面的所有页面的数字链接-->    <?php    for ($i=1;$i<$page;$i++)    {    ?>    <a class="fy" href="<?php $_SERVER['PHP_SELF'];?>?page=<?php echo $i;?>"> <?php echo $i;?> </a>    <?php    }    ?>       <!--当前页页码-->     <font color="#00AA00"><?php echo $page;?></font>        <!--当前页后面的所有页面的数字链接-->    <?php    for ($i=$page+1;$i<=$totalpage;$i++)    {    ?>    <a class="fy" href="<?php $_SERVER['PHP_SELF'];?>?page=<?php echo $i;?>"> <?php echo $i;?> </a>    <?php    }    ?><?php    if ($page<$totalpage){?>    <a class="fy" href="<?php $_SERVER['PHP_SELF'];?>?page=<?php echo $next;?>">下一页</a><!--下一页--><?php }?><?php    if ($page!=$totalpage and $totalpage!=1){?>    <a class="fy" href="<?php $_SERVER['PHP_SELF'];?>?page=<?php echo $totalpage;?>">尾页</a><!--尾页--><?PHP }?>         第<?php echo $page;?>/<?php echo $totalpage;?>页     共<?php echo $total;?>条信息<!--第X/X页,共X条信息-></h2>