使用 mysql 在 PHP 中进行分页

问题描述 投票:0回答:2

嗨,我想在同一页面上创建页面意味着我想将数据库中的图像显示到 PHP 页面,并且我想每页显示 20 张图像,因此当用户单击 2,3,4,5 转到下一页时,这里是我正在尝试我的代码,但它给了我一些错误。

PHP 代码

<?php

$con=mysqli_connect("localhost","root","123","user");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }


if (isset($_GET["page"])) { $page  = $_GET["page"]; } else { $page=1; };
$start_from = ($page-1) * 20;
$sql = "SELECT * FROM save_data ORDER BY ID DESC LIMIT $start_from, 20";
$rs_result = mysql_query ($sql,$con);

while ($row = mysql_fetch_assoc($rs_result)) {
    $post_id = $row['ID'];
    $title = $row['Title'];
    $image = $row['Name'];


?>


    <center>

    <a href="pictures.php?title=<?php echo $title; ?>">
    <h3><?php echo $title; ?></h3></a>

    <a href="pictures.php?title=<?php echo $title; ?>">
    <img src='uploads/<?php echo $image; ?>' width='140' height='140'></a>

    </center>
<?php
};
?>

<?php
$sql = "SELECT COUNT(ID) FROM save_data";
$rs_result = mysql_query($sql,$con);
$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='pages.php?page=".$i."'>".$i."</a> ";
};
?>

我遇到的错误

Warning: mysql_query() expects parameter 2 to be resource, object given in C:\xampp\htdocs\mysql_login\all-images.php on line 15

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, null given in C:\xampp\htdocs\mysql_login\all-images.php on line 17

Warning: mysql_query() expects parameter 2 to be resource, object given in C:\xampp\htdocs\mysql_login\all-images.php on line 41

Warning: mysql_fetch_row() expects parameter 1 to be resource, null given in C:\xampp\htdocs\mysql_login\all-images.php on line 42
php mysql database pagination
2个回答
0
投票

我发现一些代码错误:

你正在混合 mysql 和 mysqli, 坚持下去

$rs_result = mysqli_query ($con, $sql);

while($row = mysqli_fetch_row($rs_result)){
    echo $row["table field name"];
}

-1
投票

您正在混合

mysql
mysqli
函数。这些混合得不好。为了让脚本正常运行,最简单的方法是将
mysqli_connect
替换为
mysql_connect
,因为所有其他功能都是
mysql

$con=mysql_connect("localhost","root","123");
mysql_select_db("user");

正如 Mike Brant 在评论中建议的那样,您不应再使用

mysql
,而应使用
mysqli
PDO。不过我的回答应该仍然可以解决您的问题。

© www.soinside.com 2019 - 2024. All rights reserved.