php开发_分页

WBOY
WBOY원래의
2016-06-23 14:30:42851검색

项目结构:

运行效果:

========================================

conn.php

 1 <?php 2 $conn = @ mysql_connect("localhost", "root", "") or die("数据库链接错误"); 3 mysql_select_db("form", $conn); 4 mysql_query("set names 'GBK'"); //使用GBK中文编码; 5 //替换空格,回车键 6 function htmtocode($content) { 7     $content = str_replace("\n", "<br>", str_replace(" ", " ", $content)); 8     return $content; 9 }10 ?>

page.php

 1 <?php 2  3     function _PAGEFT($totle, $displaypg = 20, $url = '') { 4  5         global $page, $firstcount, $pagenav, $_SERVER; 6  7         $GLOBALS["displaypg"] = $displaypg; 8  9         if (!$page)10             $page = 1;11         if (!$url) {12             $url = $_SERVER["REQUEST_URI"];13         }14 15         //URL分析:16         $parse_url = parse_url($url);17         $url_query = $parse_url["query"]; //单独取出URL的查询字串18         if ($url_query) {19             $url_query = ereg_replace("(^|&)page=$page", "", $url_query);20             $url = str_replace($parse_url["query"], $url_query, $url);21             if ($url_query)22                 $url .= "&page";23             else24                 $url .= "page";25         } else {26             $url .= "?page";27         }28         $lastpg = ceil($totle / $displaypg); //最后页,也是总页数29         $page = min($lastpg, $page);30         $prepg = $page -1; //上一页31         $nextpg = ($page == $lastpg ? 0 : $page +1); //下一页32         $firstcount = ($page -1) * $displaypg;33 34         //开始分页导航条代码:35         $pagenav = "显示第 <B>" . ($totle ? ($firstcount +1) : 0) . "</B>-<B>" . min($firstcount + $displaypg, $totle) . "</B> 条记录,共 $totle 条记录";36 37         //如果只有一页则跳出函数:38         if ($lastpg <= 1)39             return false;40 41         $pagenav .= " <a href='$url=1'>首页</a> ";42         if ($prepg)43             $pagenav .= " <a href='$url=$prepg'>前页</a> ";44         else45             $pagenav .= " 前页 ";46         if ($nextpg)47             $pagenav .= " <a href='$url=$nextpg'>后页</a> ";48         else49             $pagenav .= " 后页 ";50         $pagenav .= " <a href='$url=$lastpg'>尾页</a> ";51 52         //下拉跳转列表,循环列出所有页码:53         $pagenav .= " 到第 <select name='topage' size='1' onchange='window.location=\"$url=\"+this.value'>\n";54         for ($i = 1; $i <= $lastpg; $i++) {55             if ($i == $page)56                 $pagenav .= "<option value='$i' selected>$i</option>\n";57             else58                 $pagenav .= "<option value='$i'>$i</option>\n";59         }60         $pagenav .= "</select> 页,共 $lastpg 页";61     }62 63 64 include("conn.php");65 66 $result=mysql_query("SELECT * FROM `test`");67 $total=mysql_num_rows($result);68 //调用pageft(),每页显示10条信息(使用默认的20时,可以省略此参数),使用本页URL(默认,所以省略掉)。69 _PAGEFT($total,5);70 echo $pagenav;71 72 $result=mysql_query("SELECT * FROM `test` limit $firstcount,$displaypg ");73 while($row=mysql_fetch_array($result)){74 75 echo "<hr><b>".$row[name]." | ".$row[sex];76 77 }78 ?>

list.php

 1 <?php 2 include("conn.php"); 3  4 $pagesize=5; 5 $url=$_SERVER["REQUEST_URI"]; 6 $url=parse_url($url); 7 $url=$url[path]; 8  9 10 $numq=mysql_query("SELECT * FROM `test`");11 $num = mysql_num_rows($numq);12 13 if($_GET[page]){14 $pageval=$_GET[page];15 $page=($pageval-1)*$pagesize;16 $page.=',';17 }18 if($num > $pagesize){19  if($pageval<=1)$pageval=1;20 echo "共 $num 条".21         " <a href=$url?page=".($pageval-1).">上一页</a> <a href=$url?page=".($pageval+1).">下一页</a>";22 }23     $SQL="SELECT * FROM `test` limit $page $pagesize ";24     $query=mysql_query($SQL);25     while($row=mysql_fetch_array($query)){26 27     echo "<hr><b>".$row[name]." | ".$row[sex];28 29     }30 ?>

分页公式:(当前页数-1)*每页条数,每页条数

sql语句:select * from test_table limit ($page-1)*$pageSize,$pageSize;

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.