Heim >php教程 >php手册 >PHP / MySQL的选择页面上的数据和分割

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

WBOY
WBOYOriginal
2016-06-13 10:51:281195Durchsuche

本教程将告诉你如何选择从一个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);
?>



while ($row = mysql_fetch_assoc($rs_result)) {
?>
           
           
           
           
};
?>
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);
?>



while ($row = mysql_fetch_assoc($rs_result)) {
?>
           
           
           
           
};
?>
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文件。让我知道如果你需要帮助,我会给你一个报价。

 


作者:newcnzz
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn