| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 | 
							- <?php
 
- /**
 
-  * @file
 
-  * This is an example describing how a module can implement a pager in order
 
-  * to reduce the number of output rows to the screen and allow a user
 
-  * to scroll through multiple screens of output.
 
-  *
 
-  * See:
 
-  * @link http://drupal.org/developing/api/database Database API @endlink
 
-  * @link http://drupal.org/node/508796 Extenders @endlink
 
-  */
 
- /**
 
-  * @defgroup pager_example Example: Pager
 
-  * @ingroup examples
 
-  * @{
 
-  * Example of a results pager.
 
-  */
 
- /**
 
-  * Implements hook_help().
 
-  */
 
- function pager_example_help($path, $arg) {
 
-   switch ($path) {
 
-     case 'examples/pager_example':
 
-       return '<p>' . t('The layout here is a themed as a table with a default limit of 10 rows per page. The limit can be changed in the code by changing the limit to some other value.  This can be extended to add a filter form as well so the user can choose how many they would like to see on each screen.') . '</p>';
 
-   }
 
- }
 
- /**
 
-  * Implements hook_menu().
 
-  */
 
- function pager_example_menu() {
 
-   $items['examples/pager_example'] = array(
 
-     'title' => 'Pager example',
 
-     'description' => 'Show a page with a long list across multiple pages',
 
-     'page callback' => 'pager_example_page',
 
-     'access callback' => TRUE,
 
-   );
 
-   return $items;
 
- }
 
- /**
 
-  * Build the pager query.
 
-  *
 
-  * Uses the date_formats table since it is installed with ~35 rows
 
-  * in it and we don't have to create fake data in order to show
 
-  * this example.
 
-  *
 
-  * @return array
 
-  *   A render array completely set up with a pager.
 
-  */
 
- function pager_example_page() {
 
-   // We are going to output the results in a table with a nice header.
 
-   $header = array(
 
-     array('data' => t('DFID')),
 
-     array('data' => t('Format')),
 
-     array('data' => t('Type')),
 
-   );
 
-   // We are extending the PagerDefault class here.
 
-   // It has a default of 10 rows per page.
 
-   // The extend('PagerDefault') part here does all the magic.
 
-   $query = db_select('date_formats', 'd')->extend('PagerDefault');
 
-   $query->fields('d', array('dfid', 'format', 'type'));
 
-   // Change the number of rows with the limit() call.
 
-   $result = $query
 
-     ->limit(10)
 
-     ->orderBy('d.dfid')
 
-     ->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);
 
-   }
 
-   // Create a render array ($build) which will be themed as a table with a
 
-   // pager.
 
-   $build['pager_table'] = array(
 
-     '#theme' => 'table',
 
-     '#header' => $header,
 
-     '#rows' => $rows,
 
-     '#empty' => t('There are no date formats found in the db'),
 
-   );
 
-   // Attach the pager theme.
 
-   $build['pager_pager'] = array('#theme' => 'pager');
 
-   return $build;
 
- }
 
- /**
 
-  * @} End of "defgroup pager_example".
 
-  */
 
 
  |