【发布时间】:2010-02-25 00:28:19
【问题描述】:
我在 PHP 中的分页脚本/类/帮助程序中搜索数据数组,而不是 SQL 语句。有人知道解决方案吗?
【问题讨论】:
标签: php pagination
我在 PHP 中的分页脚本/类/帮助程序中搜索数据数组,而不是 SQL 语句。有人知道解决方案吗?
【问题讨论】:
标签: php pagination
在我的脑海中,您可能已经看到了 LimitIterator,它是 SPL 的一部分。
【讨论】:
如果您正在寻找不涉及 SQL 的集合的分页,那么您可能会更幸运地实现具有大量结果集合的分页客户端。我只是在想,如果你有一个 php 数据的结果块,那么你真的不想一次又一次地重新加载它 - 通常 sql 会跟踪下一个/上一个结果。
这个 jquery pagination plugin 可能有用吗?
【讨论】:
您可以根据需要调整基本分页。 剪切的第二个代码将是您视图中的一部分。您可以轻松地使用它并使其更通用,以便在需要时使用。
// !!! make sure that page is set as a url param
if( !isset( $_GET[ 'page' ] )){
$_GET[ 'page' ] = 0;
}
// find out how many rows there are total
$totalRows = mysql_query( "SELECT COUNT(*) FROM table" );
$totalRows = mysql_num_rows( $totalRows );
// find out how many pages there will be
$numPages = floor( $totalRows / $perPage );
$perPage = 15;
$offset = floor( $_GET[ 'page' ] * $perPage );
// get just the data you need for the page you are on
$pageData = mysql_query( "SELECT * FROM table LIMIT $perPage OFFSET $offset" );
然后在页面上创建链接
// get the current url to replace
for ($i=0; $i <= $numPages; $i++) {
if( $_GET[ 'page'] != $i ){
echo '<a href="/yourpage.php?page=' . $i + 1 . '">page '.( $i+1 ).'</a>';
}else{
echo "page " . ( $i+1 );
}
}
【讨论】: