How to Implement Google Pie Chart using Codeigniter
In this article, we will explain to you how to Implement Google Pie Chart using Codeigniter. today we will fetch data into MySQL, and plot a Pie graph.
There are many types of charts provide by Google, like a bar chart, area chart, line chart, pie chart, etc. but here we use a Pie chart.
In this article, we will plot a Pie graph using Google API. so you can see below the following steps.
Overview
Step 1: Create a Database in table
Step 2: Connect to Database
Step 3: Create Controller
Step 4: Create View File
Step 1: Create a Database in table
In this step, we have to create a table in the database, so we will create a database using the below code.
1 2 3 4 5 6 | CREATE TABLE `login_history` ( `id` int(11) NOT NULL, `user_id` int(11) NOT NULL, `login_date` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp(), PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=1; |
Step 2: Connect to Database
Go to the config folder and open database.php file some changes in this file like hostname, database username, database password, and database name.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | $db['default'] = array( 'dsn' => '', 'hostname' => 'localhost', 'username' => 'root', 'password' => '', 'database' => 'enter here database name', 'dbdriver' => 'mysqli', 'dbprefix' => '', 'pconnect' => FALSE, 'db_debug' => (ENVIRONMENT !== 'production'), 'cache_on' => FALSE, 'cachedir' => '', 'char_set' => 'utf8', 'dbcollat' => 'utf8_general_ci', 'swap_pre' => '', 'encrypt' => FALSE, 'compress' => FALSE, 'stricton' => FALSE, 'failover' => array(), 'save_queries' => TRUE ); |
Step 3: Create Controller
In this step, we will create a Googlechart.php file in the “application/controller” directory and paste the below code in this controller. here we will count user login data and fetch data last 7 days of data from the database. that data will be pass in a chart and creating a Pie graph.
application/controller/Googlechart.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <?php defined('BASEPATH') OR exit('No direct script access allowed'); class Googlechart extends CI_Controller { public function __construct() { parent::__construct(); // load model $this->load->database(); $this->load->helper(array('url','html','form')); } public function pie_chart() { $query = $this->db->query('SELECT DATE_FORMAT(login_date, "%Y-%m-%d") AS `date`, COUNT(`login_date`) as count FROM login_history WHERE date(login_date) > (DATE(NOW()) - INTERVAL 7 DAY) AND MONTH(`login_date`) = "'. date('m') .'" AND YEAR(`login_date`) = "' . date('Y') .'" GROUP BY DAYNAME(`login_date`) ORDER BY (`login_date`) ASC'); $records = $query->result_array(); // echo "<pre>"; // print_r($records); // echo "</pre>"; die; $data = []; $data['chart_data'] = $records; $this->load->view('pie_chart',$data); } } ?> |
Step 4: Create View File
So finally, we will create the pie_chart.php file in the “application/views/” directory.
application/views/pie_chart.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | <!Doctype html> <html> <head> <title>How to Implement Google Pie Chart using Codeigniter - XpertPhp</title> <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> <script type="text/javascript"> google.charts.load('visualization', "1", { packages: ['corechart'] }); </script> </head> <body> <div id="pie_chart" style="width: 900px; height: 500px; margin: 0 auto"></div> <script language="JavaScript"> // Draw the Pie chart google.charts.setOnLoadCallback(pieChart); //for month wise function pieChart() { /* Define the chart to be drawn.*/ var data = google.visualization.arrayToDataTable([ ['Month', 'Users Count'], <?php foreach ($chart_data as $row){ echo "['".$row['date']."',".$row['count']."],"; } ?> ]); var options = { title: 'Last 7 day Wise Login Users Count', is3D: true, }; /* Instantiate and draw the chart.*/ var chart = new google.visualization.PieChart(document.getElementById('pie_chart')); chart.draw(data, options); } </script> </body> </html> |
We think would you like this article, so you can click on the “Show Demo” button and you can see this demo article.