This driver accepts the following options:
Table 55-1. Options for this driver
Option | Type | Description | Default Value |
---|---|---|---|
dbc | object | A PEAR::DB instance that will be used by this driver. Either this or the 'dsn' option is required. | |
dsn | string | A PEAR::DB dsn string. The DB connection will be established by this driver. Either this or the 'dbc' option is required. | |
fields | array | Which data fields to fetch from the datasource. An empty array means: all fields. Form: array(field1, field2, ...) | array() |
generate_columns | bool | Generate Structures_DataGrid_Column objects with labels. See the 'labels' option. | false |
labels | array | Data field to column label mapping. Only used when 'generate_columns' is true. Form: array(field => label, ...) | array() |
You need to specify either a DB instance or a DB compatible dsn string as an option to use this driver.
If you use complex queries (e.g. with complex joins or with aliases), $datagrid->getRecordCount() might return a wrong result. For the case of GROUP BY or DISTINCT in your queries, this driver already has special handling. However, if you observe wrong record counts, you need to specify a special query that returns only the number of records (e.g. 'SELECT COUNT(*) FROM ...') as an additional option 'count_query' to the bind() call.
You can specify a ORDER BY statement in your query. Please be aware that this sorting statement is then used in *every* query before the sorting options that come from a renderer (e.g. by clicking on the column header when using the HTML_Table renderer which is sent in the HTTP request). If you want to give a default sorting statement that is only used if there is no sorting query in the HTTP request, then use $datagrid->setDefaultSort().