diff --git a/ChangeLog b/ChangeLog index 19f276b0b6..0b8e8d62d9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -19,6 +19,7 @@ phpMyAdmin - ChangeLog + rfe #3488185 draggable columns vs copy column name + Patch #3507001 Contest-4: Textarea for large character columns + Removed the PHP version of the ENUM editor ++ Patch #3507111 Display distinct results, linked to corresponding data rows 3.5.1.0 (not yet released) - bug #3510784 [edit] Limit clause ignored when sort order is remembered diff --git a/js/makegrid.js b/js/makegrid.js index 948db0b018..8bd4aa95ac 100644 --- a/js/makegrid.js +++ b/js/makegrid.js @@ -719,6 +719,14 @@ function PMA_makegrid(t, enableResize, enableReorder, enableVisib, enableGridEdi // empty all edit area, then rebuild it based on $td classes $editArea.empty(); + + // add show data row link if the data resulted by 'browse distinct values' in table structure + if ($td.find('input').hasClass('data_browse_link')) { + var showDataRowLink = document.createElement('div'); + showDataRowLink.className = 'goto_link'; + $(showDataRowLink).append("" + g.showDataRowLinkText + ""); + $editArea.append(showDataRowLink); + } // add goto link, if this cell contains a link if ($td.find('a').length > 0) { @@ -1591,6 +1599,7 @@ function PMA_makegrid(t, enableResize, enableReorder, enableVisib, enableGridEdi g.saveCellWarning = PMA_messages['strSaveCellWarning']; g.alertNonUnique = PMA_messages['strAlertNonUnique']; g.gotoLinkText = PMA_messages['strGoToLink']; + g.showDataRowLinkText = PMA_messages['strShowDataRowLink']; // initialize cell editing configuration g.saveCellsAtOnce = $('#save_cells_at_once').val(); diff --git a/js/messages.php b/js/messages.php index e5ca3bc8f0..bc10c3fd53 100644 --- a/js/messages.php +++ b/js/messages.php @@ -353,6 +353,7 @@ $js_messages['strGridEditFeatureHint'] = __('You can also edit most columns
'; if (isset($analyzed_sql[0]['select_expr']) && is_array($analyzed_sql[0]['select_expr'])) { @@ -2862,6 +2864,26 @@ function PMA_prepare_row_data($class, $condition_field, $analyzed_sql, $meta, $m } else { $result .= ($transform_function != $default_function ? $transform_function($data, $transform_options, $meta) : $transform_function($data, array(), $meta)); } + + // create hidden field if results from structure table + if (isset($_GET['browse_distinct']) && ($_GET['browse_distinct'] == 1)) { + + $where_comparison = " = '" . $data . "'"; + + $_url_params_for_show_data_row = array( + 'db' => $db, + 'table' => $meta->orgtable, + 'pos' => '0', + 'sql_query' => 'SELECT * FROM ' + . PMA_backquote($db) . '.' . PMA_backquote($meta->orgtable) + . ' WHERE ' . PMA_backquote($meta->orgname) + . $where_comparison, + ); + + $result .= ''; + + } + $result .= '' . "\n"; return $result; diff --git a/tbl_structure.php b/tbl_structure.php index 359d32f203..6e0c724e36 100644 --- a/tbl_structure.php +++ b/tbl_structure.php @@ -466,7 +466,7 @@ foreach ($fields as $row) {
- +