【发布时间】:2015-06-18 00:44:14
【问题描述】:
我正在将我的 MySQL 结果分页到每页 10 个。到目前为止,我已经能够计算列中有多少结果,计算如果每页有 10 个结果将有多少页,显示页数并添加到每个页面的链接(例如:Page1,第2页,第3页,第4页...)
目前,所有 38 个结果都显示在一个页面上。当我单击页码时,我被带到正确的链接,但 38 个结果的内容是相同的。我知道我需要将 38 个结果分成四页。这就是我被困在的地方:
要查找页数,我有变量:
$pages = ceil($items_number / $per_page )
但是,在我看过的多个教程中:
$pages = ceil(mysql_results($items_number,0) / $per_page )
它允许数据计数从 0 开始。当我尝试这个时,我得到一个错误
Fatal error: Call to undefined function mysql_results()
所以我没有选择从 0 开始计算结果(使用 mysql_result)并将它们分成每页 10 个。
如何绕过mysql_result 并能够为每个页码显示适当的数据/项目数?
这是一个链接,可点击的页码在顶部: http://test.ishabagha.com/classic_cars/pag_test.php
代码:
<?php
require_once("./includes/database_connection.php");
error_reporting(E_ALL);
ini_set('display_errors', 1);
$page = "";
$per_page = 10;
$query = "SELECT productCode, productName, productLine, productScale, productVendor, productDescription, buyPrice FROM products WHERE `productLine` = 'Classic Cars'";
$result = mysqli_query($dbc, $query)
or die(mysqli_error($dbc));
$query_count = "SELECT count(productLine) FROM products WHERE productLine = 'Classic Cars'";
$items = mysqli_query($dbc, $query_count)
or die(mysqli_error($dbc));
$row = mysqli_fetch_row($items);
$items_number = $row[0];
$pages = ceil($items_number / $per_page )
?>
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<title>Home</title>
<link type="text/css" rel="stylesheet" href="classic_cars.css" />
</head>
<body>
<?php
require_once("./includes/navigation.php");
?>
<?php
for($number = 1; $number <= $pages; $number++) {
echo "<a href='?page=$number'>$number</a>";
}
while ($row = mysqli_fetch_array($result)) {
$product_code = $row['productCode'];
$product_name = $row['productName'];
$product_line = $row['productLine'];
$product_vendor = $row['productVendor'];
$product_description = $row['productDescription'];
$buy_price = $row['buyPrice'];
echo "<tr>
<td><p>$product_name</p></td>
</tr>";
} // end while ($row = mysqli_fetch_array($result))
?>
<?php
require_once("./includes/footer.php");
?>
</body>
</html>
【问题讨论】:
-
mysql_+mysqli_= 没有爱。这意味着:您不能混合使用不同的 MySQL API。 -
@Fred-ii- 是的,我想知道是否有另一种方法可以将 mysql_result 用于 mysqli
-
看看php.net/manual/en/class.mysqli-result.php和这个问答stackoverflow.com/q/17707331和stackoverflow.com/q/2089590 - 更多结果可以通过谷歌搜索“mysqli_result替代”或“mysql_result替代”来找到
标签: php mysql pagination