Php 如何使用分页显示数据库中的记录?

Php 如何使用分页显示数据库中的记录?,php,Php,我正在显示数据库中的一些记录。目前我正在显示前20条记录,但我想显示每页20条记录的所有记录 我将如何使用php中的分页来显示所有记录?” 对此有什么想法吗?类似的方法可能会奏效: $posts_per_page = 10; $page = isset($_GET['page']) ? intval($_GET['page']) : 0; $query = sprintf("SELECT * FROM <table> LIMIT %d, %d",

我正在显示数据库中的一些记录。目前我正在显示前20条记录,但我想显示每页20条记录的所有记录

我将如何使用php中的分页来显示所有记录?”


对此有什么想法吗?

类似的方法可能会奏效:

$posts_per_page = 10;
$page = isset($_GET['page']) ? intval($_GET['page']) : 0;
$query = sprintf("SELECT * FROM <table> LIMIT %d, %d", 
                  $page * $post_per_page, 
                  $posts_per_page);
$result = mysql_query($query);
您必须跟踪每页用
$posts\u划分的帖子总数以及当前页面,然后您可以显示上一页和下一页链接:

if ($current_page > 0) {
   echo '<a href="index.php?page=' . ($current_page - 1) . '>prev</a>';
} 
if ($current_page < $max_pages - 1) {
   echo '<a href="index.php?page=' . ($current_page + 1) . '>next</a>';
}
if($current\u page>0){
回声';
} 
如果($current_page<$max_page-1){
回声';
}

类似的方法可能会奏效:

$posts_per_page = 10;
$page = isset($_GET['page']) ? intval($_GET['page']) : 0;
$query = sprintf("SELECT * FROM <table> LIMIT %d, %d", 
                  $page * $post_per_page, 
                  $posts_per_page);
$result = mysql_query($query);
您必须跟踪每页用
$posts\u划分的帖子总数以及当前页面,然后您可以显示上一页和下一页链接:

if ($current_page > 0) {
   echo '<a href="index.php?page=' . ($current_page - 1) . '>prev</a>';
} 
if ($current_page < $max_pages - 1) {
   echo '<a href="index.php?page=' . ($current_page + 1) . '>next</a>';
}
if($current\u page>0){
回声';
} 
如果($current_page<$max_page-1){
回声';
}

基本思想是向脚本发送页面变量,例如
$page
,然后自定义MySQL查询以仅检索该页面的结果

下面是一个示例,您可以了解我的意思:

$page = $_GET['page'];
$resultsPerPage = 20;
$start = ($page - 1) * $resultsPerPage;
$query = "SELECT `results` FROM `table` WHERE ... ORDER BY `date` LIMIT $start, $resultsPerPage"
您可以看到如果
$page=1
,然后
$start=0
,此查询将检索偏移量为0的20个结果。对于
$page=2
$start=20
,查询将从20-40中检索结果,结果应显示在第二页上

这是假设您的第一页是1。如果希望第一页为0,则需要更改
$start

$start = $page * $resultsPerPage;

其基本思想是向脚本发送页面变量,例如
$page
,然后自定义MySQL查询以仅检索该页面的结果

下面是一个示例,您可以了解我的意思:

$page = $_GET['page'];
$resultsPerPage = 20;
$start = ($page - 1) * $resultsPerPage;
$query = "SELECT `results` FROM `table` WHERE ... ORDER BY `date` LIMIT $start, $resultsPerPage"
您可以看到如果
$page=1
,然后
$start=0
,此查询将检索偏移量为0的20个结果。对于
$page=2
$start=20
,查询将从20-40中检索结果,结果应显示在第二页上

这是假设您的第一页是1。如果希望第一页为0,则需要更改
$start

$start = $page * $resultsPerPage;
可能重复的(第一个结果,因为您的问题中没有任何内容可供参考。)可能重复的(第一个结果,因为您的问题中没有任何内容可供参考。)