Есть несколько ловушек при использовании пейджеров Drupal.Во-первых, если у вас есть несколько pager_query () на одной странице, то каждый элемент 'pager' на странице будет по умолчанию ссылаться только на первый запрос.Поэтому первое, что вы должны сделать, это убедиться, что вы не используете несколько запросов pager к различным базам данных.Если вы используете 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, решение может немного отличаться.