Skip to content
Christos Pontikis edited this page May 16, 2017 · 14 revisions

What is php_bs_grid

php datagrid with jquery, jquery-ui and bootstrap frontend

Simple, secure, easy to use.

Constants

/**
 * PHP_BS_GRID constants
 */

// pagination
define('C_PHP_BS_GRID_DEFAULT_PAGE_NUM', 1);
define('C_PHP_BS_GRID_DEFAULT_ROWS_PER_PAGE', 10);

// show more or less (default) columns
define('C_PHP_BS_GRID_COLUMNS_DEFAULT', 1);
define('C_PHP_BS_GRID_COLUMNS_MORE', 2);

// advanced sorting
define('C_PHP_BS_GRID_SHORT_ADVANCED_IGNORE', 1);
define('C_PHP_BS_GRID_SHORT_ADVANCED_DEFAULT', 2);

// export CSV
define('C_PHP_BS_GRID_EXPORT_EXCEL_NO', 1);
define('C_PHP_BS_GRID_EXPORT_EXCEL_YES', 2);

// text criteria operators
define('C_PHP_BS_GRID_CRITERIA_TEXT_IGNORE', 1);
define('C_PHP_BS_GRID_CRITERIA_TEXT_EQUAL', 2);
define('C_PHP_BS_GRID_CRITERIA_TEXT_STARTS_WITH', 3);
define('C_PHP_BS_GRID_CRITERIA_TEXT_CONTAINS', 4);
define('C_PHP_BS_GRID_CRITERIA_TEXT_IS_NULL', 5);

// lookup criteria operators
define('C_PHP_BS_GRID_CRITERIA_LOOKUP_IGNORE', 1);
define('C_PHP_BS_GRID_CRITERIA_LOOKUP_EQUAL', 2);
define('C_PHP_BS_GRID_CRITERIA_LOOKUP_IS_NULL', 3);

// number criteria operators - TODO not yet implemented
define('C_PHP_BS_GRID_CRITERIA_NUMBER_IGNORE', 1);
define('C_PHP_BS_GRID_CRITERIA_NUMBER_EQUAL', 2);
define('C_PHP_BS_GRID_CRITERIA_NUMBER_IN', 3);
define('C_PHP_BS_GRID_CRITERIA_NUMBER_LESS_THAN_OR_EQUAL_TO', 4);
define('C_PHP_BS_GRID_CRITERIA_NUMBER_GREATER_THAN_OR_EQUAL_TO', 5);
define('C_PHP_BS_GRID_CRITERIA_NUMBER_IS_NULL', 6);

// date criteria operators
define('C_PHP_BS_GRID_CRITERIA_DATE_IGNORE', 1);
define('C_PHP_BS_GRID_CRITERIA_DATE_EQUAL', 2);
define('C_PHP_BS_GRID_CRITERIA_DATE_LESS_THAN_OR_EQUAL_TO', 3);
define('C_PHP_BS_GRID_CRITERIA_DATE_GREATER_THAN_OR_EQUAL_TO', 4);
define('C_PHP_BS_GRID_CRITERIA_DATE_IS_NULL', 5);

Parameters

$a_dg_params = array(
	'dg_columns' => $a_columns,
	'dg_select_count_column' => 'id',
	'dg_select_from_sql' => 'FROM my-table',

         // optional
	'dg_fixed_where' => $a_fixed_where,
	'dg_fixed_bind_params' => $a_fixed_bind_params,

	'dg_show_columns_switcher' => true,
	'dg_show_addnew_record' => true,
	'dg_rows_per_page_options' => array(10, 20, 30, 50, 100),
	'dg_columns_to_display_options' => array(C_PHP_BS_GRID_COLUMNS_DEFAULT, 
                                                 C_PHP_BS_GRID_COLUMNS_MORE),
	'dg_columns_default_icon' => 'glyphicon glyphicon-resize-full',
	'dg_columns_more_icon' => 'glyphicon glyphicon-resize-small',
	'dg_col_sortable_class' => 'col-sortable',
	'dg_sort_asc_indicator' => '<span class="glyphicon glyphicon-chevron-up" aria-hidden="true"></span> ',
	'dg_sort_desc_indicator' => '<span class="glyphicon glyphicon-chevron-down" aria-hidden="true"></span> ',
	'dg_advanced_sorting_options' => $a_advanced_sorting_options,
	'dg_allow_export_excel' => true,
	'dg_export_excel_options' => array(C_PHP_BS_GRID_EXPORT_EXCEL_NO, 
                                           C_PHP_BS_GRID_EXPORT_EXCEL_YES),
	'dg_export_excel_basename' => 'my-export',
	'dg_main_template_path' => C_CLASS_PHP_BS_GRID_TEMPLATE_PATH,
	'dg_criteria_template_path' => '/path/to/criteria.php',
	'dg_form_action' => $url,
	'dg_strings' => $a_strings
);

Columns - parameters

$a_columns = array(
	'column1' => array(
		'header' => 'Column Header',
		'display' => C_PHP_BS_GRID_COLUMNS_DEFAULT,
		'th_class' => 'text-nowrap my-class',
		'td_class' => 'my-class',
		'select_sql' => 'columns1',
		'sort_simple' => true,
		// optional 
		'sort_simple_default' => true,
		'sort_simple_default_order' => 'ASC',
	),
);

Clone this wiki locally