需要PHP中的分页代码吗?

时间:2009-11-02 10:43:27

标签: php pagination

我在PHP中搜索分页脚本/类/帮助器中的数据数组,而不是SQL语句。有人知道解决方案吗?

3 个答案:

答案 0 :(得分:1)

离开我的头顶你可以看看作为SPL一部分的LimitIterator。

答案 1 :(得分:1)

如果您正在寻找不涉及SQL的集合的分页,那么您可能会更好地实现具有大量结果的分页客户端。我只是想如果你有一个php数据结果块,那么你真的不想一次又一次地重新加载它 - 通常sql会跟踪下一个/之前的结果。

这个jquery pagination plugin可能有用吗?

答案 2 :(得分:1)

基本分页,你可以调整到你需要的任何东西。 剪切的第二个代码将是您视图中的部分。您可以轻松地使用它并使其更通用,以便在需要时使用。

// !!! 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 );
   }
}