/** Field caption used in select and edit
* @param array single field returned from fields()
+ * @param int order of column in select
* @return string
*/
- function fieldName($field) {
+ function fieldName($field, $order = 0) {
return '<span title="' . htmlspecialchars($field["full_type"]) . '">' . htmlspecialchars($field["field"]) . '</span>';
}
echo "<thead><tr><td><input type='checkbox' id='all-page' onclick='form_check(this, /check/);'>";
$names = array();
reset($select);
+ $order = 0;
foreach ($rows[0] as $key => $val) {
$val = $_GET["columns"][key($select)];
$field = $fields[$select ? $val["col"] : $key];
- $name = ($field ? $adminer->fieldName($field) : "*");
+ $name = ($field ? $adminer->fieldName($field, $order) : "*");
if (strlen($name)) {
+ $order++;
$names[$key] = $name;
echo '<th><a href="' . htmlspecialchars(remove_from_uri('(order|desc)[^=]*') . '&order%5B0%5D=' . urlencode($key) . ($_GET["order"] == array($key) && !$_GET["desc"][0] ? '&desc%5B0%5D=1' : '')) . '">' . apply_sql_function($val["fun"], $name) . "</a>";
}
return ($login == 'admin');
}
- function tableName($row) {
+ function tableName($tableStatus) {
// tables without comments would return empty string and will be ignored by Adminer
- return htmlspecialchars($row["Comment"]);
+ return htmlspecialchars($tableStatus["Comment"]);
}
- function fieldName($field) {
- // fields without comments will be ignored
- return ($field ? htmlspecialchars($field["comment"]) : "*");
+ function fieldName($field, $order = 0) {
+ // only first five columns with comments will be displayed
+ return ($order < 5 ? htmlspecialchars($field["comment"]) : "");
}
}
return htmlspecialchars(strlen($tableStatus["Comment"]) ? $tableStatus["Comment"] : $tableStatus["Name"]);
}
- function fieldName($field) {
+ function fieldName($field, $order = 0) {
return htmlspecialchars(strlen($field["comment"]) ? $field["comment"] : $field["field"]);
}
? AJAX editing - select page has all data to display edit form
Editor:
-Choose columns hidden in select
-Restrict column selection in select to aggregation functions by index
JavaScript data validation
Joining tables - PRIMARY KEY (table, joining)
-Simplify search - textual, from-to
Rank, Tree structure
-Treat tinyint(1) as bool, format date
+Treat tinyint(1) as bool