<?php echo show_table('blocks', 50); function show_table($table = NULL, $rows_per_page = 20) { if (!$table || !db_table_exists($table)) { drupal_set_message(t('You must supply a valid database table name.'), 'error'); drupal_access_denied(); } // We get the first (or only) part of the Primary key to be added to the sort sequence. $result = db_query("SHOW INDEX FROM {$table}"); $x = db_fetch_array($result); if ($x === FALSE) { drupal_set_message(t("The '@table' table has no index defined. This is probably normal.", array('@table' => $table)), 'notice'); $first_key = NULL; } else { $first_key = $x['Column_name']; } drupal_set_title(t('@table Table Contents', array('@table' => ucwords($table)))); $output = '<p>'. t('Click on a column title to sort by that column.') .'</p><br/>'; $rows = array(); // Now we get the column names from the table and build the header. $header = array(); $result = db_query("SHOW COLUMNS FROM {$table}"); while ($col_desc = db_fetch_array($result)) { $header[] = array( 'data' => ucwords(str_replace('_', ' ', $col_desc['Field'])), 'field' => '`'. $col_desc['Field'] .'`', ); } // Get the data rows from the table. $select = "SELECT * FROM {$table}"; // Set it up so that the user can sort on any column, but the primary key will always be the last value to sort on. $select .= tablesort_sql($header) . ($first_key ? (', '. $first_key .' ASC') : NULL); // Do the query so that we can page the data. $result = pager_query($select, $rows_per_page); while ($row = db_fetch_array($result)) { $line = array(); foreach ($row as $key => $value) { // We use check_markup to apply our filters. $line[] = check_markup($value, FILTER_FORMAT_DEFAULT,TRUE); } $rows[] = $line; } // Build the displayable table. $output .= theme('table', $header, $rows); $output .= theme('pager', $rows_per_page); return $output; } ?>

display content in table in drupal 7

Similar Code Examples