本教程将告诉你如何选择从一个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。代码在下面选择,然后打印在表中的数据。
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);
?>
| Name | Phone |
| echo $row["Name"]; ?> | echo $row["PhoneNumber"]; ?> |
现在,当你打开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
要打印的页码和联营公司的网址,每个号码,我们会为()循环使用。
for ($i=1; $i
echo "".$i." ";
};
?>
上面的代码将打印数字从1到5,每个数字将创建不同 你可以看到每一个环节,这是上面的SELECT查询中使用不同的页面价值传递。 最后,你应该有一个这样的文件(记得添加MySQL连接字符串):
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);
?>
| Name | Phone |
| echo $row["Name"]; ?> | echo $row["PhoneNumber"]; ?> |
$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 echo "".$i." ";
};
?>
这pagination.php文件将打印最多20每页记录和底部5页码指向一个页面显示不同的20条记录的表。 不要忘了一小笔费用,我可以添加分页你所有的PHP文件。让我知道如果你需要帮助,我会给你一个报价。
采用 php+mysql 数据库方式运行的强大网上商店系统,执行效率高速度快,支持多语言,模板和代码分离,轻松创建属于自己的个性化用户界面 v3.5更新: 1).进一步静态化了活动商品. 2).提供了一些重要UFT-8转换文件 3).修复了除了网银在线支付其它支付显示错误的问题. 4).修改了LOGO广告管理,增加LOGO链接后主页LOGO路径错误的问题 5).修改了公告无法发布的问题,可能是打压
作者:newcnzz










