发表时间:2015-05-27来源:网络
本教程将告诉你如何选择从一个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";
返回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>
现在,当你打开pagination.php在您的网页浏览器,你会看到从您的“学生”表中显示的第20条记录的表 第2行以上的代码
if (isset($_GET["page"])) { $page = $_GET["page"]; } else { $page=1; };
$start_from = ($page-1) * 20;
被用来创建一个$ start_from的变量,取决于我们要查看的页。后来,你会看到,我们将通过“页”的价值,使用到不同的页面的URL(例如pagination.php?= 2页)。下一步,我们需要找出在我们的餐桌和页面,我们需要的数量总额的记录。要做到这一点,我们运行另一个查询使用COUNT()函数。 站长百科
$sql = "SELECT COUNT(Name) FROM students";
$rs_result = mysql_query($sql,$connection);
$row = mysql_fetch_row($rs_result);
$total_records = $row[0];
美元total_records现在是平等的,我们有我们的数据库中,90在我们的例子中,记录的数量。我们有20每页记录,以便将需要的页面的总数是5(4页20条记录和最后一页,将有10条记录)。 计算需要使用PHP可以使用CEIL()函数的网页数量。
$total_pages = ceil($total_records / 20);
我们的记录总数除以每页的记录,然后CEIL()函数将向上舍入的结果。现在我们有2个新的变量- $ total_records等于90美元total_pages等于5
要打印的页码和联营公司的网址,每个号码,我们会为()循环使用。
<?php
for ($i=1; $i<=$total_pages; $i++) {
echo "<a href='pagination.php?page=".$i."'>".$i."</a> ";
};
?>
上面的代码将打印数字从1到5,每个数字将创建不同 你可以看到每一个环节,这是上面的SELECT查询中使用不同的页面价值传递。 最后,你应该有一个这样的文件(记得添加MySQL连接字符串):
<?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> ";
};
?>
这pagination.php文件将打印最多20每页记录和底部5页码指向一个页面显示不同的20条记录的表。 不要忘了一小笔费用,我可以添加分页你所有的PHP文件。让我知道如果你需要帮助,我会给你一个报价。
上一篇:PHP5.X主要版本性能比对测试
下一篇:php截取html文章
CI框架连接数据库配置操作以及多数据库操作
asp 简单读取数据表并列出来 ASP如何快速从数据库读取大量数据
C语言关键字及其解释介绍 C语言32个关键字详解
C语言中sizeof是什么意思 c语言里sizeof怎样用法详解
PHP中的魔术方法 :__construct, __destruct , __call, __callStatic,__get, __set, __isset, __unset , __sleep,
将视频设置为Android手机开机动画的教程
PHP中的(++i)前缀自增 和 (i++)后缀自增
最简单的asp登陆界面代码 asp登陆界面源代码详细介绍
常用dos命令及语法
PHP中include和require区别之我见
中山眼科中心app下载v6.3.1
45.28MB |生活服务
易查车辆违章查询下载v3.2.20
138.59M |生活服务
鞍马司机极速版最新版本下载v6.40.5.0003
151.09MB |系统工具
星徽专车司机端软件最新版本下载v2.0.45
79.47MB |生活服务
临汾云客户端下载v2.1.17 安卓手机版
162.83MB |资讯阅读
jp五十音图app(改名冲鸭日语)下载v1.9.5 安卓版
151.29MB |学习教育
智通三千企业app下载v1.84 安卓版
101.14MB |商务办公
左拍app下载v5.3.1 安卓版
297.16MB |拍摄美化
2014-09-05
2022-03-20
2022-03-21
2022-03-24
2014-09-05
2014-09-05
2015-07-05
2014-09-05
2022-03-21
2014-09-05