Para Drupal 6 podrías hacer algo como esto:
$header = array(
array('data' => t('Order id'), 'field' => 'order_id'),
...
array('data' => t('Transaction time'), 'field' => 'payment_time', 'sort' => 'desc'),
);
$sql = "...";
$sql .= tablesort_sql($header);
$limit = 25;
$result = pager_query($sql, $limit);
...
Eché un vistazo y para drupal 7 y ambos pager_query
y tablesort_sql
ahora se ha ido. Parece que, en cambio, la PagerDefault
clase se puede usar para crear una consulta de buscapersonas usando DBTNG. No pude encontrar ninguna pista en una API simple para adjuntar una tabla ordenable a la consulta como se hace en Drupal 6.
Entonces, ¿cómo se crea una tabla ordenable con un buscapersonas que extraiga datos de una tabla personalizada?