PHP / MySQL的选择页面上的数据和分割

本教程将告诉你如何选择从一个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文件。让我知道如果你需要帮助,我会给你一个报价。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值