【Foreword】
This article summarizes the principles and methods of implementing paging in PHP. The specific analysis has been annotated in the code, so look at the code directly.
Relevant knowledge points, I made a summary in the previous article
Note the filename
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <?php //connect to the user database include 'config.php'; $connect = mysqli_connect(DB_HOST,DB_USER,DB_PWD,DB_NAME); if(!$connect){ die("could not connect:".mysqli_error()); }else{ echo "Connection succeeded<br>"; //search result // The mysqli_query() function executes a MySQL query $result = mysqli_query($connect,"select* from user"); //mysqli_num_rows The number of rows in the result set, which is obtained from the call to mysql_query() $count = mysqli_num_rows($result); //If you pass a page, change it to an integer $page = isset($_GET['page'])?(int)$_GET['page']:1; //Number of displays per page $num = 5 ; //total pages $total = ceil($count / $num); if ($page<1) { $page = 1; } if ($page>$total) { $page = $total; } //Offset $offset = ($page-1)*$num; $sql = "select id,name,age from demo order by id asc limit $offset,$num"; $result = mysqli_query($connect,$sql); if ($result&&mysqli_num_rows($result)) { echo "<table border=1 cellspacing=0>"; while($row = mysqli_fetch_array($result)){ echo "<tr>"; echo "<td>".$row['id']."</td>"; echo "<td>".$row['name']."</td>"; echo "<td>".$row['age']."</td>"; echo "<tr/>"; } echo'<tr> <td colspan="5"> <a href="page.php?page=1">首页</a> <a href="page.php?page=' .($page-1). '">上一页</a> <a href="page.php?page=' .($page+1). '">下一页</a> <a href="page.php?page=' .$total. '">尾页</a> The current page is '.$page.' of '.$total.' </td> </tr>'; echo "</table>"; }else{ echo "No data"; } } //close the connection $close = mysqli_close($connect); if(!$close){ die("Failed to close the database"); }else{ echo "Close successfully"; } ?>
configuration file
<?php //database server define('DB_HOST', 'localhost'); //database username define('DB_USER', 'root'); //database password define('DB_PWD', 'root'); //data storage name define('DB_NAME', 'user'); //character set define('DB_CHARSET', 'utf8'); ?>
The effect diagram is as follows:
.