From 3c9378b8e7221087254ea0159f74b5ff34083bce Mon Sep 17 00:00:00 2001 From: Madhura Jayaratne Date: Sat, 28 Apr 2012 07:24:50 +0530 Subject: [PATCH] Improve creating charts with query results --- js/tbl_chart.js | 106 ++++++++++++++++++++++++++++++------------------ tbl_chart.php | 8 +++- 2 files changed, 73 insertions(+), 41 deletions(-) diff --git a/js/tbl_chart.js b/js/tbl_chart.js index 4c89d6ba49..f45f4d1969 100644 --- a/js/tbl_chart.js +++ b/js/tbl_chart.js @@ -93,6 +93,15 @@ $(function() { $('select[name="chartSeries"]').change(function() { chart_series = this.value; chart_series_index = this.selectedIndex; + if (chart_series_index != 0) { + $('span.span_pie').show(); + } else if ($(this).children('option').size() > 2) { + $('span.span_pie').hide(); + if (currentSettings.chart.type == 'pie') { + $('input#radio_line').prop('checked', true); + currentSettings.chart.type = 'line'; + } + } drawChart(); }); @@ -137,6 +146,21 @@ function in_array(element, array) return false; } +function isColumnNumeric(columnName) +{ + var first = true; + var isNumeric = false; + $('select[name="chartSeries"] option').each(function() { + if (first) { + first = false; + } else if ($(this).val() == columnName) { + isNumeric = true; + return false; + } + }); + return isNumeric; +} + function PMA_queryChart(data, passedSettings) { if ($('#querychart').length == 0) { @@ -162,54 +186,55 @@ function PMA_queryChart(data, passedSettings) if (chart_series == 'columns') { var j = 0; - for (var i = 0, l = columnNames.length; i' + columnNames[0] + '
' + this.y; - }; - } - // Overwrite/Merge default settings with passedsettings $.extend(true, settings, passedSettings); diff --git a/tbl_chart.php b/tbl_chart.php index 7002405007..131c21f50c 100644 --- a/tbl_chart.php +++ b/tbl_chart.php @@ -48,6 +48,7 @@ if (strlen($GLOBALS['table'])) { $data = array(); $result = PMA_DBI_try_query($sql_query); +$fields_meta = PMA_DBI_get_fields_meta($result); while ($row = PMA_DBI_fetch_assoc($result)) { $data[] = $row; } @@ -85,8 +86,10 @@ url_query = ''; +