1 tablesort_example.module tablesort_example_page()

Build the table render array.

Return value

array: A render array set for theming by theme_table().

Related topics

File

modules/examples/tablesort_example/tablesort_example.module, line 39
This is an example describing how a module can display data in a sortable table

Code

function tablesort_example_page() {
  // We are going to output the results in a table with a nice header.
  $header = array(
    // The header gives the table the information it needs in order to make
    // the query calls for ordering. TableSort uses the field information
    // to know what database column to sort by.
    array('data' => t('Numbers'), 'field' => 't.numbers'),
    array('data' => t('Letters'), 'field' => 't.alpha'),
    array('data' => t('Mixture'), 'field' => 't.random'),
  );

  // Using the TableSort Extender is what tells the the query object that we
  // are sorting.
  $query = db_select('tablesort_example', 't')
    ->extend('TableSort');
  $query->fields('t');

  // Don't forget to tell the query object how to find the header information.
  $result = $query
  ->orderByHeader($header)
    ->execute();

  $rows = array();
  foreach ($result as $row) {
    // Normally we would add some nice formatting to our rows
    // but for our purpose we are simply going to add our row
    // to the array.
    $rows[] = array('data' => (array) $row);
  }

  // Build the table for the nice output.
  $build['tablesort_table'] = array(
    '#theme' => 'table',
    '#header' => $header,
    '#rows' => $rows,
  );

  return $build;
}