{"id":607,"date":"2017-11-15T22:24:51","date_gmt":"2017-11-15T22:24:51","guid":{"rendered":"http:\/\/www.honobono-life.info\/wpeng\/?p=607"},"modified":"2017-11-15T22:54:07","modified_gmt":"2017-11-15T22:54:07","slug":"google-chart-by-angularjs-server-side-db-data","status":"publish","type":"post","link":"http:\/\/www.honobono-life.info\/wpeng\/google-chart-by-angularjs-server-side-db-data\/","title":{"rendered":"Google Chart by AngularJS Server side DB data"},"content":{"rendered":"<ul>\r\n<li>AngularJS : 1.6.5<\/li>\r\n<li>Bootstrap : 3.x<\/li>\r\n<\/ul>\r\n<!--more-->\r\n<div role=\"tabpanel\">\r\n  <ul class=\"nav nav-tabs\">\r\n    <li class=\"active\"><a href=\"#demo1\" data-toggle=\"tab\">demo<\/a><\/li>\r\n    <li><a href=\"#html1\" data-toggle=\"tab\">markup<\/a><\/li>\r\n    <li><a href=\"#script1\" data-toggle=\"tab\">script<\/a><\/li>\r\n    <li><a href=\"#template1\" data-toggle=\"tab\">php<\/a><\/li>\r\n  <\/ul>\r\n  <div class=\"tab-content\">\r\n    <div class=\"tab-pane active\" id=\"demo1\">\r\n\r\n<a href=\"http:\/\/www.honobono-life.info\/wpeng\/wp-content\/themes\/ang\/assets\/templates\/gglchart-ng-server.html\" rel=\"noopener\" target=\"_blank\">Demo<\/a>\r\n\r\n    <\/div>\r\n    <div class=\"tab-pane\" id=\"html1\">\r\n<pre>\r\n  &lt;head>\r\n\/\/\r\n    &lt;script type=\"text\/javascript\" src=\"https:\/\/www.gstatic.com\/charts\/loader.js\">&lt;\/script>\r\n  &lt;\/head>\r\n  &lt;body>\r\n    &lt;div ng-controller=\"MyCtrl\" id=\"chart_div\">&lt;\/div>\r\n    &lt;script type='text\/javascript' src='js\/angular.min.js'>&lt;\/script>\r\n    &lt;script type=\"text\/javascript\" src=\"js\/app.js\">&lt;\/script>\r\n  &lt;\/body>\r\n<\/pre>\r\n    <\/div>\r\n\r\n    <div class=\"tab-pane\" id=\"script1\">\r\n<pre>\r\ngoogle.charts.load('current', {packages: ['corechart']});\r\n\r\ngoogle.charts.setOnLoadCallback(function() {\r\n  angular.bootstrap(document.body, ['myApp']);\r\n});\r\n\r\nangular.module('myApp', []).\r\n  controller('MyCtrl', ['$scope','$http',\r\n    function($scope,$http) {\r\n      $http.get('..\/ng1\/json.php').then(function(response) {\r\n        var data1 = new google.visualization.DataTable();\r\n        data1.addColumn('string', 'year\/mon');\r\n        data1.addColumn('number', 'avarage');\r\n        for(i = 0 ; i < response.data.length;i++) {\r\n          var ym = response.data[i][\"updateday\"].substr(0,4) + \"\/\" + response.data[i][\"updateday\"].substr(5,2);\r\n          data1.addRow([ym, parseFloat(response.data[i][\"sum(price)\\\/count(price)\"])]);\r\n        };\r\n        var options = {\r\n          'title':'Sample Title',\r\n          'height':400\r\n        };\r\n        var chart = new google.visualization.LineChart(document.getElementById('chart_div'));\r\n        var formatter = new google.visualization.NumberFormat(\r\n          {fractionDigits: 2}\r\n        );\r\n        formatter.format(data1, 1);\r\n        chart.draw(data1, options);\r\n      });\r\n    }\r\n  ]);\r\n<\/pre>\r\n    <\/div><!-- \/.tab-pane -->\r\n\r\n    <div class=\"tab-pane\" id=\"template1\">\r\n<pre>\r\nrequire(\"dbinfo.php\");\r\n$dsn = 'mysql:host=localhost;dbname='.$database.';charset=utf8';\r\n\r\ntry {\r\n  $dbh = new PDO($dsn, $username, $password,array(PDO::ATTR_EMULATE_PREPARES =>false,PDO::MYSQL_ATTR_INIT_COMMAND => \"SET CHARACTER SET `utf8`\"));\r\n} catch (PDOException $e) {\r\n  exit('DB connect error'.$e->getMessage());\r\n}\r\n$st = $dbh->query(\"select updateday,sum(price)\/count(price) from products GROUP BY updateday\");\r\necho json_encode($st->fetchAll(PDO::FETCH_ASSOC));\r\n<\/pre>\r\n    <\/div><!-- \/.tab-pane -->\r\n\r\n  <\/div><!-- \/.tab-content -->\r\n<\/div><!-- \/.tabpanel -->","protected":false},"excerpt":{"rendered":"<p>AngularJS : 1.6.5 Bootstrap : 3.x<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[36],"tags":[],"amp_enabled":true,"_links":{"self":[{"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/posts\/607"}],"collection":[{"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/comments?post=607"}],"version-history":[{"count":6,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/posts\/607\/revisions"}],"predecessor-version":[{"id":1591,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/posts\/607\/revisions\/1591"}],"wp:attachment":[{"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/media?parent=607"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/categories?post=607"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.honobono-life.info\/wpeng\/wp-json\/wp\/v2\/tags?post=607"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}