在使用 Drupal 寻呼机时有几个陷阱。第一个是,如果您在一个页面上有多个 pager_query(),那么页面上的每个 'pager' 元素将默认仅引用第一个查询。所以你应该做的第一件事是检查你没有对不同的数据库使用多个 pager_queries。如果您使用的是 Drupal 7.0,那么格式正确的寻呼机查询应该是这样的:
$query = db_select('node','n')->extend('PagerDefault');
$query->limit(10);
$query->fields('n',array('nid',))
$query->orderBy('n.nid','DESC');
如果您设法找到重复的寻呼机查询,则可以使用以下方法设置要引用的寻呼机查询:
$pager = array(
'tags' => array(),
'element' => 1, /* 0 for first query on the page, 1 for second etc. */
'quantity' => 5,
'parameters' => array(),
);
$form['table'] = array(
'#markup' => theme_table($variables) . theme_pager($pager),
);
如果您使用的是 Drupal 6,那么解决方案可能会略有不同。