From ade942bb09220991da4a0472838daecd3d112c15 Mon Sep 17 00:00:00 2001 From: Chanaka Indrajith Dharmarathna Date: Thu, 5 Apr 2012 09:05:12 -0400 Subject: [PATCH 1/2] Patch #3507111 Display distinct results, linked to corresponding data rows --- js/makegrid.js | 9 +++++++++ js/messages.php | 1 + libraries/display_tbl.lib.php | 22 ++++++++++++++++++++++ tbl_structure.php | 2 +- 4 files changed, 33 insertions(+), 1 deletion(-) diff --git a/js/makegrid.js b/js/makegrid.js index 948db0b018..240e6a4cd0 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..dc19bf8530 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 hiidden 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) {
From fb1d53d7f81326178e4fc947689e0a6e7d24a892 Mon Sep 17 00:00:00 2001 From: Marc Delisle Date: Thu, 5 Apr 2012 09:16:24 -0400 Subject: [PATCH 2/2] ChangeLog entry Code cleanup Typo in comments Caps in message HTML attributes should be surrounded by double quotes --- ChangeLog | 1 + js/makegrid.js | 2 +- js/messages.php | 2 +- libraries/display_tbl.lib.php | 4 ++-- 4 files changed, 5 insertions(+), 4 deletions(-) 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 240e6a4cd0..8bd4aa95ac 100644 --- a/js/makegrid.js +++ b/js/makegrid.js @@ -724,7 +724,7 @@ function PMA_makegrid(t, enableResize, enableReorder, enableVisib, enableGridEdi if ($td.find('input').hasClass('data_browse_link')) { var showDataRowLink = document.createElement('div'); showDataRowLink.className = 'goto_link'; - $(showDataRowLink).append("" + g.showDataRowLinkText + ""); + $(showDataRowLink).append("" + g.showDataRowLinkText + ""); $editArea.append(showDataRowLink); } diff --git a/js/messages.php b/js/messages.php index dc19bf8530..bc10c3fd53 100644 --- a/js/messages.php +++ b/js/messages.php @@ -353,7 +353,7 @@ $js_messages['strGridEditFeatureHint'] = __('You can also edit most columns"; + $result .= ''; }