PHP / MySQL的选择页面下的数据和分割
PHP / MySQL的选择页面上的数据和分割
返回20条记录,从第一个记录开始按名称排序。这下查询
现在,当你打开pagination.php在您的网页浏览器,你会看到从您的“学生”表中显示的第20条记录的表 第2行以上的代码
被用来创建一个$ start_from的变量,取决于我们要查看的页。后来,你会看到,我们将通过“页”的价值,使用到不同的页面的URL(例如pagination.php?= 2页)。下一步,我们需要找出在我们的餐桌和页面,我们需要的数量总额的记录。要做到这一点,我们运行另一个查询使用COUNT()函数。
美元total_records现在是平等的,我们有我们的数据库中,90在我们的例子中,记录的数量。我们有20每页记录,以便将需要的页面的总数是5(4页20条记录和最后一页,将有10条记录)。 计算需要使用PHP可以使用CEIL()函数的网页数量。
我们的记录总数除以每页的记录,然后CEIL()函数将向上舍入的结果。现在我们有2个新的变量- $ total_records等于90美元total_pages等于5
要打印的页码和联营公司的网址,每个号码,我们会为()循环使用。
上面的代码将打印数字从1到5,每个数字将创建不同 你可以看到每一个环节,这是上面的SELECT查询中使用不同的页面价值传递。 最后,你应该有一个这样的文件(记得添加MySQL连接字符串):
这pagination.php文件将打印最多20每页记录和底部5页码指向一个页面显示不同的20条记录的表。 不要忘了一小笔费用,我可以添加分页你所有的PHP文件。让我知道如果你需要帮助,我会给你一个报价。
本教程将告诉你如何选择从一个MySQL数据库中的数据,在多个页面上分裂,并显示它使用页码。 我们有MySQL的表名为“学生”90记录与以下领域: 名称-数据类型为varchar(250) ****** -为varchar(250), 而是做一个单一的SELECT查询,并显示所有90记录,我们可以在一个页面上有5页20条记录每个包含最多。要做到这一点,我们将需要使用LIMIT子句的SELECT命令,所以我们可以限制查询只显示20条记录。LIMIT子句也允许你指定哪个记录开始。例如,此查询
$sql
=
"SELECT * FROM students ORDER BY name ASC LIMIT 0, 20"
;
$sql
=
"SELECT * FROM students ORDER BY name ASC LIMIT 50, 20"
;
再次排序的名字,但这个时候,它会从第50记录20条记录。
所以基本上在此条款(限制开始,计数)“开始”指定的起始记录和“计数”指定显示多少记录。 接下来的事情做的是做一个PHP文件称为pagination.php将表从我们的记录显示第20。代码在下面选择,然后打印在表中的数据。
<?php
if
(isset(
$_GET
[
"page"
])) {
$page
=
$_GET
[
"page"
];
}
else
{
$page
=1; };
$start_from
= (
$page
-1) * 20;
$sql
=
"SELECT * FROM students ORDER BY name ASC LIMIT $start_from, 20"
;
$rs_result
= mysql_query (
$sql
,
$connection
);
?>
<table>
<tr><td>Name</td><td>Phone</td></tr>
<?php
while
(
$row
= mysql_fetch_assoc(
$rs_result
))
{
?>
<tr>
<td><?
echo
$row
[
"Name"
];
?></td>
<td><?
echo
$row
[
"PhoneNumber"
];
?></td>
</tr>
<?php
};
?>
</table>
if
(isset(
$_GET
[
"page"
])) {
$page
=
$_GET
[
"page"
];
}
else
{
$page
=1; };
$start_from
= (
$page
-1) * 20;
站长百科
$sql
=
"SELECT COUNT(Name) FROM students"
;
$rs_result
= mysql_query(
$sql
,
$connection
);
$row
= mysql_fetch_row(
$rs_result
);
$total_records
=
$row
[0];
$total_pages
=
ceil
(
$total_records
/
20);
要打印的页码和联营公司的网址,每个号码,我们会为()循环使用。
<?php
for
(
$i
=1;
$i
<=
$total_pages
;
$i
++)
{
echo
"<a href='pagination.php?page="
.
$i
.
"'>"
.
$i
.
"</a>
"
;
};
?>
<?php
if
(isset(
$_GET
[
"page"
])) {
$page
=
$_GET
[
"page"
];
}
else
{
$page
=1; };
$start_from
= (
$page
-1) * 20;
$sql
=
"SELECT * FROM students ORDER BY name ASC LIMIT $start_from, 20"
;
$rs_result
= mysql_query (
$sql
,
$connection
);
?>
<table>
<tr><td>Name</td><td>Phone</td></tr>
<?php
while
(
$row
= mysql_fetch_assoc(
$rs_result
))
{
?>
<tr>
<td><?
echo
$row
[
"Name"
];
?></td>
<td><?
echo
$row
[
"PhoneNumber"
];
?></td>
</tr>
<?php
};
?>
</table>
<?php
$sql
=
"SELECT COUNT(Name) FROM students"
;
$rs_result
= mysql_query(
$sql
,
$connection
);
$row
= mysql_fetch_row(
$rs_result
);
$total_records
=
$row
[0];
$total_pages
=
ceil
(
$total_records
/
20);
for
(
$i
=1;
$i
<=
$total_pages
;
$i
++)
{
echo
"<a href='pagination.php?page="
.
$i
.
"'>"
.
$i
.
"</a>
"
;
};
?>