I made a module with a simple menu structure. I am able to programmatically retrieve a view of all my students in PHP. Now, I want to return all the students on a page in a simple table.
The structure of the table is
UGhentID Name student First name student Location student
12874749 Smith Nick New York . . .
If you want to create a new page, you need to use hook_menu in a module.
For exemple :
/**
* Implementation of hook_menu.
*/
function mymodule_menu() {
$items = array();
$items['myPage'] = array(
'title' => 'Finances',
'page callback' => 'mymodule_page',
'access callback' => 'user_access',
'access argument' => array('access nodes'),
);
return $items
}
/**
* Page callback
*/
function mymodule_page() {
$output = mymodule_table();
return $output;
}
You can see here that I call "mymodule_table()" in the page callback, this is where you build your table.
function mymodule_table() {
$rows = array();
// build the table header
$header = array();
for ($i = 1; $i <= 5; $i++) {
$header[] = array('data' => $i, 'class' => 'header-class');
}
$row = array();
for ($i = 1; $i <= 5; $i++) {
$row[] = array('data' => $i, 'class' => 'row-class');
}
$rows[] = array('data' => $row);
$output .= theme('table', $header, $rows, $attributes = array('class' => 'my-table-class'));
return $output;
}
This should output a table, with a header a a line a rows, with 5 columns.
I'm not sure what you mean by a 'standard page' but I think you probably want to take a look at the examples project (http://drupal.org/project/examples), in particular that page_example module.
For your table, Drupal provides a theme_table function which is pretty useful. In it's simplest form you pass an array of headers and rows and it returns the html for a table.
Based on @Haza's answer, here's an updated table creation function that works for Drupal 7:
function mymodule_table() {
$rows = array();
// build the table header
$header = array();
for ($i = 1; $i <= 5; $i++) {
$header[] = array('data' => $i, 'class' => 'header-class');
}
$row = array();
for ($i = 1; $i <= 5; $i++) {
$row[] = array('data' => $i, 'class' => 'row-class');
}
$rows[] = array('data' => $row);
$data = array(
'header' => $header,
'rows' => $rows,
'attributes' => $attributes
);
$output = theme('table', $data);
return $output;
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With