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_queryy tablesort_sqlahora se ha ido. Parece que, en cambio, la PagerDefaultclase 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?

Usa los
TableSortyPagerDefaultextensores.fuente
Use el módulo DataTables .
fuente
Puede incluir el mismo Drupal 6 tablesort_sql en su código y funciona bien.
Para buscapersonas:
fuente