Php 分页功能
我正在尝试将Jonathan Sampson制作的分页脚本制作成一个函数,这要归功于他出色的视频教程,这样我就不必在我想要分页的每个页面上都编写它,这样我就可以在我的整个网站上使用它,而不必在每个页面上都有分页代码: 我想我应该用函数传递查询,结果很好:Php 分页功能,php,Php,我正在尝试将Jonathan Sampson制作的分页脚本制作成一个函数,这要归功于他出色的视频教程,这样我就不必在我想要分页的每个页面上都编写它,这样我就可以在我的整个网站上使用它,而不必在每个页面上都有分页代码: 我想我应该用函数传递查询,结果很好: function pagination_query($query, $table = false, $column = false) { // Create some variables $pageNumber = (isset($_GET[
function pagination_query($query, $table = false, $column = false)
{
// Create some variables
$pageNumber = (isset($_GET['page']) && is_numeric($_GET['page'])) ? $_GET['page'] : 1;
// Establish number of results per page
$perPage = 5;
// Establish a padding value
$padding = 3;
// Get Start index of results
$startIndex = ($pageNumber * $perPage) - $perPage;
// Get total number of database entries
$totalCount = "SELECT COUNT(*) as 'Total' FROM $table $column";
$rsCount = mysql_query($totalCount) or die (mysql_error());
$rowCount = mysql_fetch_object($rsCount);
----- non essential stuff removed -----
// Get page results
$sql = "$query
LIMIT $startIndex, $perPage";
// Get result set
$query = mysql_query($sql) or die(mysql_error());
return $query;
}
使用中:
$query = pagination_query("SELECT id, message
FROM posts WHERE topicid = 1
ORDER BY id", 'posts', 'WHERE topicid = 1');
if (mysql_num_rows($query)> 0) {
// Show the results
while($row = mysql_fetch_object($query)) {
print "<div>";
print $row->id;
print ": ";
print substr($row->message, 0, strrpos(substr($row->message, 0, 50), ' ')) . '...';
print "</div>";
}
}
我刚刚发现,用这个,我只能在页面上的一个地方打印链接。
有什么想法吗
你们觉得我的解决方案怎么样?有更聪明更好的方法吗?你真的应该使用专门的库,而不是编写自己的代码。一个例子是PHP/MySQL中的。分页是通过使用LIMIT子句实现的 最初,您必须计算总记录数,并将其除以每页的记录数 将页码与请求一起传递 从请求数组中读取页码,并找出页面的起始记录 您可以在下一页进一步阅读并查看完整的实现
对不起,我不太明白你说的我只能在页面上的一个地方打印链接是什么意思。你应该能够重用你在那里拥有的一切。。。你能澄清一下吗?