如何在一定数量的页面上从数据库输出所选数据。
例如,我希望每页20个结果,它会自动添加所需的额外页面(有点像google搜索页面,但因为我从数据库中获取了所有内容,所以无需搜索)。
抱歉,提供了错误的解释以及缩进的代码,对于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);
?>
最佳答案
让我们看一下PHP中的分页示例。在此之前,我们需要了解什么是分页。结果分页非常简单。
我们在某个数据库表上进行搜索,并根据搜索结果将记录数除以要在每页上显示的特定数。
相关: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中的分页已创建!
关于php - 在多个页面上输出数据库结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49465447/