index.php
php版本5以上使用mysqli
- include_once("config.php");
- require_once('page.class.php'); //分页类
- $showrow = 10; //一页显示的行数
- $curpage = empty($_GET['page']) ? 1 : $_GET['page']; //当前的页,还应该处理非数字的情况
- $url = "?page={page}"; //分页地址,如果有检索条件 ="?page={page}&q=".$_GET['q']
- //省略了链接mysql的代码,测试时自行添加
- //$sql = "SELECT * FROM data_type";
- $sql = "SELECT * FROM data_type";
- $total = mysqli_num_rows(mysqli_query($conn, $sql)); //记录总条数
- if (!empty($_GET['page']) && $total != 0 && $curpage > ceil($total / $showrow))
- $curpage = ceil($total_rows / $showrow); //当前页数大于最后页数,取最后一页
- //获取数据
- $sql .= " LIMIT " . ($curpage - 1) * $showrow . ",$showrow;";
- $query = mysqli_query($conn, $sql);
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>演示:PHP简单漂亮的分页类</title>
- <meta name="keywords" content="php分页类" />
- <meta name="description" content="本文介绍一款原生的PHP分页类,分页样式有点类似bootstrap。" />
- <link rel="stylesheet" type="text/css" href="http://www.sucaihuo.com/jquery/css/common.css" />
- <style type="text/css">
- p{margin:0}
- #page{
- height:40px;
- padding:20px 0px;
- }
- #page a{
- display:block;
- float:left;
- margin-right:10px;
- padding:2px 12px;
- height:24px;
- border:1px #cccccc solid;
- background:#fff;
- text-decoration:none;
- color:#808080;
- font-size:12px;
- line-height:24px;
- }
- #page a:hover{
- color:#077ee3;
- border:1px #077ee3 solid;
- }
- #page a.cur{
- border:none;
- background:#077ee3;
- color:#fff;
- }
- #page p{
- float:left;
- padding:2px 12px;
- font-size:12px;
- height:24px;
- line-height:24px;
- color:#bbb;
- border:1px #ccc solid;
- background:#fcfcfc;
- margin-right:8px;
- }
- #page p.pageRemark{
- border-style:none;
- background:none;
- margin-right:0px;
- padding:4px 0px;
- color:#666;
- }
- #page p.pageRemark b{
- color:red;
- }
- #page p.pageEllipsis{
- border-style:none;
- background:none;
- padding:4px 0px;
- color:#808080;
- }
- .dates li {font-size: 14px;margin:20px 0}
- .dates li span{float:right}
- </style>
- </head>
- <body>
- <div class="head">
- <div class="head_inner clearfix">
- <ul id="nav">
- <li><a href="http://www.sucaihuo.com">首 页</a></li>
- <li><a href="http://www.sucaihuo.com/templates">网站模板</a></li>
- <li><a href="http://www.sucaihuo.com/js">网页特效</a></li>
- <li><a href="http://www.sucaihuo.com/php">PHP</a></li>
- <li><a href="http://www.sucaihuo.com/site">精选网址</a></li>
- </ul>
- <a class="logo" href="http://www.sucaihuo.com"><img src="http://www.sucaihuo.com/Public/images/logo.jpg" alt="素材火logo" /></a>
- </div>
- </div>
- <div class="container">
- <div class="demo">
- <h2 class="title"><a href="http://www.sucaihuo.com/php/223.html">教程:PHP简单漂亮的分页类</a></h2>
- <div class="showData">
- <ul class="dates">
- while($row = mysqli_fetch_assoc($query)) {
- <li>
- <span>echo $row['t3'] </span>
- <a target="_blank" href="http://www.sucaihuo.com/js">echo $row['t1'] </a>
- </li>
- }
- </ul>
- <!--显示数据区-->
- </div>
- <div class="showPage">
- if ($total > $showrow) {//总记录数大于每页显示数,显示分页
- $page = new page($total, $showrow, $curpage, $url, 2);
- echo $page->myde_write();
- }
- </div>
- </div>
- </div>
- <div class="foot">
- Powered by sucaihuo.com 本站皆为作者原创,转载请注明原文链接:<a href="http://www.sucaihuo.com" target="_blank">www.sucaihuo.com</a>
- </div>
- <script type="text/javascript" src="http://www.sucaihuo.com/Public/js/other/jquery.js"></script>
- </body>
- </html>
php版本5以下用这个:
- include_once("config.php");
- require_once('page.class.php'); //分页类
- $showrow = 10; //一页显示的行数
- $curpage = empty($_GET['page']) ? 1 : $_GET['page']; //当前的页,还应该处理非数字的情况
- $url = "?page={page}"; //分页地址,如果有检索条件 ="?page={page}&q=".$_GET['q']
- //省略了链接mysql的代码,测试时自行添加
- $sql = "SELECT * FROM userinfo";
- $total = mysql_num_rows(mysql_query($sql)); //记录总条数
- if (!empty($_GET['page']) && $total != 0 && $curpage > ceil($total / $showrow))
- $curpage = ceil($total_rows / $showrow); //当前页数大于最后页数,取最后一页
- //获取数据
- $sql .= " LIMIT " . ($curpage - 1) * $showrow . ",$showrow;";
- $query = mysql_query($sql);
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>演示:PHP简单漂亮的分页类</title>
- <meta name="keywords" content="php分页类" />
- <meta name="description" content="本文介绍一款原生的PHP分页类,分页样式有点类似bootstrap。" />
- <link rel="stylesheet" type="text/css" href="http://www.sucaihuo.com/jquery/css/common.css" />
- <style type="text/css">
- p{margin:0}
- #page{
- height:40px;
- padding:20px 0px;
- }
- #page a{
- display:block;
- float:left;
- margin-right:10px;
- padding:2px 12px;
- height:24px;
- border:1px #cccccc solid;
- background:#fff;
- text-decoration:none;
- color:#808080;
- font-size:12px;
- line-height:24px;
- }
- #page a:hover{
- color:#077ee3;
- border:1px #077ee3 solid;
- }
- #page a.cur{
- border:none;
- background:#077ee3;
- color:#fff;
- }
- #page p{
- float:left;
- padding:2px 12px;
- font-size:12px;
- height:24px;
- line-height:24px;
- color:#bbb;
- border:1px #ccc solid;
- background:#fcfcfc;
- margin-right:8px;
- }
- #page p.pageRemark{
- border-style:none;
- background:none;
- margin-right:0px;
- padding:4px 0px;
- color:#666;
- }
- #page p.pageRemark b{
- color:red;
- }
- #page p.pageEllipsis{
- border-style:none;
- background:none;
- padding:4px 0px;
- color:#808080;
- }
- .dates li {font-size: 14px;margin:20px 0}
- .dates li span{float:right}
- </style>
- </head>
- <body>
- <div class="head">
- <div class="head_inner clearfix">
- <ul id="nav">
- <li><a href="http://www.sucaihuo.com">首 页</a></li>
- <li><a href="http://www.sucaihuo.com/templates">网站模板</a></li>
- <li><a href="http://www.sucaihuo.com/js">网页特效</a></li>
- <li><a href="http://www.sucaihuo.com/php">PHP</a></li>
- <li><a href="http://www.sucaihuo.com/site">精选网址</a></li>
- </ul>
- <a class="logo" href="http://www.sucaihuo.com"><img src="http://www.sucaihuo.com/Public/images/logo.jpg" alt="素材火logo" /></a>
- </div>
- </div>
- <div class="container">
- <div class="demo">
- <h2 class="title"><a href="http://www.sucaihuo.com/php/223.html">教程:PHP简单漂亮的分页类</a></h2>
- <div class="showData">
- <ul class="dates">
- while ($row = mysql_fetch_array($query)) {
- <li>
- <span>echo $row['t3'] </span>
- <a target="_blank" href="http://www.sucaihuo.com/js">echo $row['t1'] </a>
- </li>
- }
- </ul>
- <!--显示数据区-->
- </div>
- <div class="showPage">
- if ($total > $showrow) {//总记录数大于每页显示数,显示分页
- $page = new page($total, $showrow, $curpage, $url, 2);
- echo $page->myde_write();
- }
- </div>
- </div>
- </div>
- <div class="foot">
- Powered by sucaihuo.com 本站皆为作者原创,转载请注明原文链接:<a href="http://www.sucaihuo.com" target="_blank">www.sucaihuo.com</a>
- </div>
- <script type="text/javascript" src="http://www.sucaihuo.com/Public/js/other/jquery.js"></script>
- </body>
- </html>
page.class.php代码
- /* * *********************************************
- * @类名: page
- * @参数: $myde_total - 总记录数
- * $myde_size - 一页显示的记录数
- * $myde_page - 当前页
- * $myde_url - 获取当前的url
- * @功能: 分页实现
- * @作者: 宋海阁
- */
- class page {
- private $myde_total; //总记录数
- private $myde_size; //一页显示的记录数
- private $myde_page; //当前页
- private $myde_page_count; //总页数
- private $myde_i; //起头页数
- private $myde_en; //结尾页数
- private $myde_url; //获取当前的url
- /*
- * $show_pages
- * 页面显示的格式,显示链接的页数为2*$show_pages+1。
- * 如$show_pages=2那么页面上显示就是[首页] [上页] 1 2 3 4 5 [下页] [尾页]
- */
- private $show_pages;
- public function __construct($myde_total = 1, $myde_size = 1, $myde_page = 1, $myde_url, $show_pages = 2) {
- $this->myde_total = $this->numeric($myde_total);
- $this->myde_size = $this->numeric($myde_size);
- $this->myde_page = $this->numeric($myde_page);
- $this->myde_page_count = ceil($this->myde_total / $this->myde_size);
- $this->myde_url = $myde_url;
- if ($this->myde_total < 0)
- $this->myde_total = 0;
- if ($this->myde_page < 1)
- $this->myde_page = 1;
- if ($this->myde_page_count < 1)
- $this->myde_page_count = 1;
- if ($this->myde_page > $this->myde_page_count)
- $this->myde_page = $this->myde_page_count;
- $this->limit = ($this->myde_page - 1) * $this->myde_size;
- $this->myde_i = $this->myde_page - $show_pages;
- $this->myde_en = $this->myde_page + $show_pages;
- if ($this->myde_i < 1) {
- $this->myde_en = $this->myde_en + (1 - $this->myde_i);
- $this->myde_i = 1;
- }
- if ($this->myde_en > $this->myde_page_count) {
- $this->myde_i = $this->myde_i - ($this->myde_en - $this->myde_page_count);
- $this->myde_en = $this->myde_page_count;
- }
- if ($this->myde_i < 1)
- $this->myde_i = 1;
- }
- //检测是否为数字
- private function numeric($num) {
- if (strlen($num)) {
- if (!preg_match("/^[0-9]+$/", $num)) {
- $num = 1;
- } else {
- $num = substr($num, 0, 11);
- }
- } else {
- $num = 1;
- }
- return $num;
- }
- //地址替换
- private function page_replace($page) {
- return str_replace("{page}", $page, $this->myde_url);
- }
- //首页
- private function myde_home() {
- if ($this->myde_page != 1) {
- return "<a href='" . $this->page_replace(1) . "' title='首页'>首页</a>";
- } else {
- return "<p>首页</p>";
- }
- }
- //上一页
- private function myde_prev() {
- if ($this->myde_page != 1) {
- return "<a href='" . $this->page_replace($this->myde_page - 1) . "' title='上一页'>上一页</a>";
- } else {
- return "<p>上一页</p>";
- }
- }
- //下一页
- private function myde_next() {
- if ($this->myde_page != $this->myde_page_count) {
- return "<a href='" . $this->page_replace($this->myde_page + 1) . "' title='下一页'>下一页</a>";
- } else {
- return"<p>下一页</p>";
- }
- }
- //尾页
- private function myde_last() {
- if ($this->myde_page != $this->myde_page_count) {
- return "<a href='" . $this->page_replace($this->myde_page_count) . "' title='尾页'>尾页</a>";
- } else {
- return "<p>尾页</p>";
- }
- }
- //输出
- public function myde_write($id = 'page') {
- $str = "<div id=" . $id . ">";
- $str.=$this->myde_home();
- $str.=$this->myde_prev();
- if ($this->myde_i > 1) {
- $str.="<p class='pageEllipsis'>...</p>";
- }
- for ($i = $this->myde_i; $i <= $this->myde_en; $i++) {
- if ($i == $this->myde_page) {
- $str.="<a href='" . $this->page_replace($i) . "' title='第" . $i . "页' class='cur'>$i</a>";
- } else {
- $str.="<a href='" . $this->page_replace($i) . "' title='第" . $i . "页'>$i</a>";
- }
- }
- if ($this->myde_en < $this->myde_page_count) {
- $str.="<p class='pageEllipsis'>...</p>";
- }
- $str.=$this->myde_next();
- $str.=$this->myde_last();
- $str.="<p class='pageRemark'>共<b>" . $this->myde_page_count .
- "</b>页<b>" . $this->myde_total . "</b>条数据</p>";
- $str.="</div>";
- return $str;
- }
- }
- $host="localhost";
- $db_user="root";
- $db_pass="root";
- $db_name="job";
- $timezone="Asia/Shanghai";
- $link=mysql_connect($host,$db_user,$db_pass);
- mysql_select_db($db_name,$link);
- mysql_query("SET names UTF8");
- header("Content-Type: text/html; charset=utf-8");