htmlobject_tablebuilder.php
<?php
require_once('../htmlobject.class.php');
$html = new htmlobject('../');
$html->debug();
$head['id']['hidden'] = true;
$head['id']['sortable'] = false;
$head['folder']['hidden'] = true;
$head['folder']['sortable'] = false;
$head['obj']['title'] = 'Source';
$head['obj']['map'] = 'folder';
$head['name']['title'] = 'Name';
// uncomment to provoke an error
#$head['carlos']['title'] = "Carlos";
$body = array();
for($i = 0; $i < 100; $i++) {
$x = $i+1;
if($x < 10) { $x = '0'.$x; }
if($x < 100) { $x = '0'.$x; }
$body[$i]['id'] = $i;
$body[$i]['folder'] = $x;
$body[$i]['name'] = 'name '.$x;
// Be aware, that objects can not be
// sorted correctly with array_sort.
// Make sure head is mapped.
$div = $html->div();
$div->style = 'border: 1px solid blue';
$div->add(rand(1,5).' div folder '.$x);
$body[$i]['obj'] = $div;
}
// uncomment to provoke an error
#unset($body[4]['name']);
#unset($body[7]['folder']);
// add additional params as htmlobject_response object
// params can be changed before output
$params = $html->response();
$params->params = array('param1'=>'param1', 'param2'=>'param2');
$table = $html->tablebuilder('table', $params);
// Example how tablebuilder can be used for db queries.
// Make sure max is set before you init, because default
// value is 0. If you do not want tablebuilder to use
// default values for limit, offset or order on first
// glance, make sure these values are set too.
// After init, values will be overwriten by request.
// Autosort should be set to false.
# $table->limit = 40;
# $table->offset = 50;
# $table->order = 'DESC';
# $table->max = $db->count();
# $table->autosort = false;
# $table->init();
# $body = $db->get($table->offset, $table->limit, $table->order);
$table->max = count($body);
$table->limit = 40;
$table->offset = 50;
$table->order = 'DESC';
$table->form_action = $html->thisfile;
$table->form_method = 'GET';
$table->css = 'htmlobject_table';
$table->border = 1;
$table->id = 'Table';
$table->hide_empty = false;
$table->head = $head;
$table->body = $body;
$table->sort = 'name';
$table->sort_form = true;
$table->sort_link = true;
$table->autosort = true;
$table->identifier = 'id';
$table->identifier_name = 'identifier';
$table->identifier_disabled = array('88','89');
$table->identifier_checked = array('86','87');
$table->actions = array('test','example');
$table->actions_name = 'action';
$table->add_headrow('added headrow text');
$table->add_bottomrow('added bottomrow text');
if(
$html->request()->get($table->identifier_name) !== '' &&
$html->request()->get($table->actions_name) !== ''
) {
echo '<h5>Selected Values</h5>';
echo '<b>action: </b>'.$html->request()->get($table->actions_name);
$html->help($html->request()->get($table->identifier_name));
}
echo $table->get_string();
$html->help($table);
?>