ホームページ >バックエンド開発 >PHPチュートリアル >PHPでデータをページング表示する方法と簡単な例

PHPでデータをページング表示する方法と簡単な例

墨辰丷
墨辰丷オリジナル
2018-06-02 09:55:102989ブラウズ

この記事では主にPHPでページングデータを表示する方法と簡単な例を紹介します。興味のある方はぜひ参考にしてください。

ページングは​​バックグラウンド管理で頻繁に使用される機能で、大量のデータの管理を容易にします。

コード例は以下の通りです。

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>用户列表</title>
</head>
<body>
<?php 
  $con = mysql_connect("localhost","root","");
  
  mysql_query("set names utf8");
  mysql_select_db("zhiye",$con);
  
  $pageSize = 1;   //每页显示的数量
  $rowCount = 0;   //要从数据库中获取
  $pageNow = 1;    //当前显示第几页
  
  //如果有pageNow就使用,没有就默认第一页。
  if (!empty($_GET[&#39;pageNow&#39;])){
    $pageNow = $_GET[&#39;pageNow&#39;];
  }
  
  $pageCount = 0;  //表示共有多少页
  
  $sql1 = "select count(id) from user";
  $res1 = mysql_query($sql1);
  
  if($row1=mysql_fetch_row($res1)){
    $rowCount = $row1[0];
  }
  
  //计算共有多少页,ceil取进1
  $pageCount = ceil(($rowCount/$pageSize));
  
  //使用sql语句时,注意有些变量应取出赋值。
  $pre = ($pageNow-1)*$pageSize;
  
  $sql2 = "select * from user limit $pre,$pageSize";
  $res2 = mysql_query($sql2);
 
  while($row=mysql_fetch_assoc($res2)){
    echo $row[&#39;user_name&#39;]."<br>";
    echo $row[&#39;name&#39;]."<br>";
    echo $row[&#39;email&#39;]."<br>";
    echo $row[&#39;password&#39;]."<br>";
    echo $row[&#39;tel&#39;]."<br>";
  }
  for ($i=1;$i<=$pageCount;$i++){
    echo "<a href=&#39;userList.php?pageNow=$i&#39;>$i</a> ";
  }
?>
</body>
</html>

データ量が多い場合、上記の方法は使えません。

<?php 
  $con = mysql_connect("localhost","root","");
  
  mysql_query("set names utf8");
  mysql_select_db("zhiye",$con);
  
  $pageSize = 1;   //每页显示的数量
  $rowCount = 0;   //要从数据库中获取
  $pageNow = 1;    //当前显示第几页
  
  //如果有pageNow就使用,没有就默认第一页。
  if (!empty($_GET[&#39;pageNow&#39;])){
    $pageNow = $_GET[&#39;pageNow&#39;];
  }
  
  $pageCount = 0;  //表示共有多少页
  
  $sql1 = "select count(id) from user";
  $res1 = mysql_query($sql1);
  
  if($row1=mysql_fetch_row($res1)){
    $rowCount = $row1[0];
  }
  
  //计算共有多少页,ceil取进1
  $pageCount = ceil(($rowCount/$pageSize));
  
  //使用sql语句时,注意有些变量应取出赋值。
  $pre = ($pageNow-1)*$pageSize;
  
  $sql2 = "select * from user limit $pre,$pageSize";
  $res2 = mysql_query($sql2);
  
  //$sql = "select * from user";
  //$res = mysql_query($sql,$con);
 
  while($row=mysql_fetch_assoc($res2)){
    echo $row[&#39;user_name&#39;]."<br>";
    echo $row[&#39;name&#39;]."<br>";
    echo $row[&#39;email&#39;]."<br>";
    echo $row[&#39;password&#39;]."<br>";
    echo $row[&#39;tel&#39;]."<br>";
  }
  if($pageNow>1){
    $prePage = $pageNow-1;
    echo "<a href=&#39;userList.php?pageNow=$prePage&#39;>pre</a> ";
  }
  if($pageNow<$pageCount){
    $nextPage = $pageNow+1;
    echo "<a href=&#39;userList.php?pageNow=$nextPage&#39;>next</a> ";
    echo "当前页{$pageNow}/共{$pageCount}页";
  }
  echo "<br/><br/>";
  ?>
 
  <form action="userList.php">
    <input type="text" name="pageNow">
    <input type="submit" value="GO">
  </form>

要約: 以上がこの記事の全内容です。皆さんの学習に役立つことを願っています。

関連する推奨事項:

PHPでスリープ機能に基づくスケジュール実行機能を実装する方法

php入出力ストリームの詳細な説明と分析例

PHPの出力バッファ制御の詳細な説明

以上がPHPでデータをページング表示する方法と簡単な例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。