PHP implements digital paging function

墨辰丷
Release: 2023-03-30 20:20:02
Original
2542 people have browsed it

This article mainly introduces the implementation of digital paging function in PHP. Interested friends can refer to it. I hope it will be helpful to everyone.

Learning points:
1.LIMIT usage
2.Various parameters
3.Hyperlink call

First: first set the digital paging module in the file; My file is (blog.php)

The code is as follows:

//分页模块
$_page = $_GET['page'];
$_pagesize = 10;
$_pagenum = ($_page - 1) * $_pagesize;
//首页要得到所有的数据总和
$_num=mysql_num_rows(_query("SELECT tg_id FROM tg_user"));
$_pageabsolute=$_num / $_pagesize;
Copy after login

It should be noted that when fetching a set from the database

The code is as follows:

//我们必须每次重新读取结果集,而不是从新去执行SQL语句。
$_result = _query("SELECT tg_username,tg_sex,tg_face FROM tg_user ORDER BY tg_reg_time DESC LIMIT $_pagenum,$_pagesize");
Copy after login


The effect of setting the paging loop

<p id="page_num">
  <ul>
  <?php for($i=0;$i<$_pageabsolute;$i++){
    if ($_page == ($i+1)) {
      echo &#39;<li><a href="blog.php?page=&#39;.($i+1).&#39;" class="selected">&#39;.($i+1).&#39;</a></li>&#39;;
    }else{
      echo &#39;<li><a href="blog.php?page=&#39;.($i+1).&#39;">&#39;.($i+1).&#39;</li>&#39;;
    }
  } ?>
  </ul>
  </p>
Copy after login

The corresponding CSS

#page_num {
  height:20px;
  clear:both;
  padding:10px 0;
  position:relative;
}
#page_num ul {
  position:absolute;
  right:30px;
  height:20px;
}
#page_num ul li {
  float:left;
  width:26px;
  height:20px;
}
#page_num ul li a {
  display:block;
  width:20px;
  height:20px;
  line-height:20px;
  border:1px solid #333;
  text-align:center;
  text-decoration:none;
}
#page_num ul li a:hover,#page_num ul li a.selected {
  background:#666;
  font-weight:bold;
  color:#fff;
}
Copy after login

There may be errors due to encoding. The solution is

// 分页模块
if (isset ( $_GET [&#39;page&#39;] )) {
  // 在数据不再数据范围内出错的解决方法
  $_page = $_GET[&#39;page&#39;];
  // 是否为空,是否小于0,是否不是数字。//如果其中有一个是,那么就=1
  if (empty ( $_page )||$_page < 0 || !is_numeric( $_page )) {
    $_page = 1;
  } else {
    $_page = intval ( $_page ); // 如果是数字,但是小数,那么就$_page = intval($_page);转换成整数
  }
} else {
  $_page = 1;
}
$_pagesize = 10;
$_num = _num_rows( _query ( "SELECT tg_id FROM tg_user" ) );
if ($_num==0) {
  $_pageabsolute=1;
}else{
  $_pageabsolute=ceil($_num/$_pagesize);
}
//当页码大于总页码的时候,就会返回到总页码的最后一页
if ($_page>$_pageabsolute) {
  $_page=$_pageabsolute;
}
$_pagenum = ($_page - 1) * $_pagesize;
Copy after login

Summary: The above is the entire content of this article, I hope it will be helpful to everyone's study.

Related recommendations:

Knowledge points that are often confused in PHP

Five types of random passwords generated by php Method

Basic knowledge and application of php design patterns

The above is the detailed content of PHP implements digital paging function. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template