You are here

将结果分页显示

老葛的Drupal培训班 Think in Drupal

我们可以使用一个更好的方式来显示这些日志:分页显示。我们可以使用Drupal的分页器来实现这一点(如图5-2)。让我们再次取回所有的日志条目,只是这次我们将其进行分页显示,在页面的底部,包含了指向其它结果页面的链接和“first和“last”的链接。
 
$type = 'blog';
$status = 1;
$sql = "SELECT * FROM {node} n WHERE type = '%s' AND status = %d ORDER BY
n.created DESC";
$pager_num = 0; // This is the first pager on this page. We number it 0.
$result = pager_query(db_rewrite_sql($sql), 10, $pager_num, NULL, $type,
    $status);
while ($data = db_fetch_object($result)) {
    $node = node_load($data->nid);
    print node_view($node, TRUE);
}
// Add links to remaining pages of results.
print theme('pager', NULL, 10, $pager_num);
 
    虽然pager_query()实际上不属于数据库抽象层,但是当你需要创建一个带有导航的分页显示时,它还是很有用的。最后一行调用的是theme('pager'),它用来显示指向其它页面的导航链接,你不需要向theme('pager')中传递结果的总数,因为总数在调用pager_query()时已被记录下来了。
 
图 5-2. Drupal的分页器,为结果集包含了内置的导航链接
 

Drupal版本: