如何在一定数量的页面上从数据库中输出选定的数据。
例如,我希望每页20个结果,它会自动添加所需的额外页面(有点像谷歌搜索页面,但不需要搜索,因为我从数据库中获得了所有内容)。
很抱歉,我的解释很糟糕,代码缩进也很糟糕,这是stackoverflow的新特性。我试着只放入php,页面的其余部分不完整,或者我删除了不必要的代码,请随时改进。
目前,我只是使用非常简单的代码将所有数据调用到一个页面上
<?php
session_start();
if(isset($_POST['logout'])) {
unset($_SESSION['Username']);
session_destroy();
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Backend</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<div class="" style="min-width: 1024px; max-width: 1920px; margin: 0 auto; min-height: 1280px; max-height: 1080px;">
<?php
if (isset ($_SESSION['Username']))
{
?>
<button onclick="location.href = 'logout.php';">Logout</button>
<?php
if (isset ($_SESSION['Username']))
{
echo "";
$servername = "localhost";
$username = "root";
$password = "root";
$dbname = "request";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM request";
$result = $conn->query($sql);
$sql = "SELECT * FROM request ORDER BY id DESC";
$result = $conn->query($sql);
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
if (isset ($_SESSION['Username']))
{
?>
<div align="center">
<div class="requests">
<p><?php echo $row["Name"]; ?></p>
<p><?php echo $row["Number"]; ?></p>
<p><?php echo $row["Song"]; ?></p>
</div>
</div>
<?php
}else{
header("Location: index.php");
}
}
} else {
echo "0 requests";
}
}
mysqli_close($conn);
?>发布于 2018-03-24 22:03:19
让我们看一个PHP分页的例子。在此之前,我们需要了解分页是什么。结果分页非常简单。
我们在某个DataBase表上进行搜索,根据搜索结果,我们将记录的数量除以每页显示的特定数字。相关: PHP和MVC中的数据分页
例如,总共有200条记录,我们希望每页显示20条记录,很快就会有200/20 = 10页。很简单,对吧?好了,让我们来看看代码。
首先连接到MySQL:
<?php
$conn = mysql_connect("host","user","pass");
$db = mysql_select_db("database");
?>现在,让我们创建应该执行的SQL子句:
<?php
$query = "SELECT * FROM TableName";
?>我们开始工作吧..。指定每页要显示的记录总数:
<?php
$total_reg = "10"; // number of records per page
?>如果页面未指定,变量" page“将取值1,这将避免显示起始页0:
<?php
$page=$_GET['page'];
if (!$page) {
$pc = "1";
} else {
$pc = $page;
}
?>让我们确定有限搜索的初始值:
<?php
$begin = $pc - 1;
$begin = $begin * $total_reg;
?>让我们选择数据并显示分页:
<?php
$limit = mysql_query("$query LIMIT $begin,$total_reg");
$all = mysql_query("$query");
$tr = mysql_num_rows($all); // checks the total number of records
$tp = $tr / $total_reg; // checks the total number of pages
// let's create visualization
while ($dados = mysql_fetch_array($limit)) {
$name = $data["name"];
echo "Name: $name<br>";
}
// now let's create the "Previous and next"
$previous = $pc -1;
$next = $pc +1;
if ($pc>1) {
echo " <a href='?page=$previous'><- Previous</a> ";
}
echo "|";
if ($pc<$tp) {
echo " <a href='?page=$next'>Next -></a>";
}
?>准备好了,PHP中的分页已经创建好了!
https://stackoverflow.com/questions/49465447
复制相似问题