Maison  >  Article  >  développement back-end  >  PHP implémente la fonction de pagination numérique

PHP implémente la fonction de pagination numérique

墨辰丷
墨辰丷original
2018-06-08 15:45:282522parcourir

Cet article présente principalement l'implémentation de la fonction de pagination numérique en PHP. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

Points d'apprentissage :
1. LIMIER l'utilisation
2. Divers paramètres
3. Appel par hyperlien

Premier : configurez d'abord le module de radiomessagerie numérique dans le fichier My ; le fichier est (blog.php)

Le code est le suivant :

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

Il est à noter que lors de la récupération d'un ensemble dans la base de données, le

code est comme suit :

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


Définir l'effet de la boucle de pagination

<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>

Le CSS correspondant

#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;
}

peut provoquer des erreurs dues à l'encodage. la solution est

// 分页模块
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;

Résumé : Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.

Recommandations associées :

Ceux qui confondent souvent les points de connaissances en PHP

Cinq types de mots de passe aléatoires générés par Méthode php

Connaissance de base et application du modèle de conception PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn