Codeigniter 4 Google Bar & Line Charts Example
In this article, we will explain to you how to integrate the google bar & line charts example in Codeigniter 4(Codeigniter 4 Google Bar & Line Charts Example). we can easily integrate the Google bar and line Chart day, week, and month-wise in CodeIgniter 4.
In this example, we are getting day wise data for google bar and line chart from MySQL in Codeigniter 4 and you can also get or use data month wise or weekly wise from MySQL. so you can see our following example.
Overview
Step 1: Download Codeigniter
Step 2: Basic Configurations
Step 3: Create a Database in table
Step 4: Connect to Database
Step 5: Create Controller
Step 6: Create Views Files
Step 7: Run The Application
Step 1: Download Codeigniter
If you want to download or install the latest version of CodeIgniter 4 then you can go to Codeigniter’s official site and download the latest version of Codeigniter 4. after the downloaded you can configure in “xampp/htdocs/” directory.
Step 2: Basic Configurations
If you want to Basic Configurations in your project then you can below Url.
Codeigniter 4 Removing Index.Php From Url
Step 3: Create a Database in table
In this step, We will create the database and products table. so here we have taken some fruits name as products.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | CREATE TABLE IF NOT EXISTS `products` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `sales` varchar(255) NOT NULL, `created_at` varchar(30) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; INSERT INTO `products` (`id`, `name`, `sales`, `created_at`) VALUES (1, 'Apple', '2000', '2021-01-02'), (2, 'Mango', '3000', '2021-02-03'), (3, 'Banana', '1000', '2021-03-02'), (4, 'Orange', '2500', '2021-04-05'), (5, 'Apricots', '6000', '2021-05-04'), (6, 'Cherry', '27000', '2021-06-07'), (7, 'Jackfruit', '1600', '2021-07-05'), (8, 'Kiwi', '1200', '2021-08-06'), (9, 'Peach', '1200', '2021-09-02'); |
Step 4: Connect to Database
Go to the “app/Config/Database.php” folder and open the 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 | public $default = [ 'DSN' => '', 'hostname' => 'localhost', 'username' => 'root', 'password' => '', 'database' => 'ci4_demo', 'DBDriver' => 'MySQLi', 'DBPrefix' => '', 'pConnect' => false, 'DBDebug' => (ENVIRONMENT !== 'production'), 'cacheOn' => false, 'cacheDir' => '', 'charset' => 'utf8', 'DBCollat' => 'utf8_general_ci', 'swapPre' => '', 'encrypt' => false, 'compress' => false, 'strictOn' => false, 'failover' => [], 'port' => 3306, ]; |
Step 5: Create Controller
In this step, we will create the “Chart.php” controller in “app/Controllers” directory.
app/Controllers/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 | <?php namespace App\Controllers; use CodeIgniter\Controller; class Chart extends Controller { public function __construct() { helper(['html','url']); } public function index() { $db = \Config\Database::connect(); $builder = $db->table('products'); $query = $builder->select("COUNT(id) as count, sales, DAYNAME(created_at) as day"); $query = $builder->where("DAY(created_at) GROUP BY DAYNAME(created_at), sales")->get(); $record = $query->getResult(); $productData = []; foreach($record as $row) { $productData[] = array( 'day' => $row->day, 'sell' => floatval($row->sales) ); } $data['productData'] = ($productData); return view('index', $data); } } ?> |
Step 6: Create Views Files
Finally, we will create the index.php in the app/views directory.
app/views/index.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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Codeigniter 4 Google Bar & Line Charts Example - XpertPhp</title> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"> </head> <body> <div class="container"> <div class="mb-5 mt-5"> <div id="GoogleLineChart" style="height: 400px; width: 100%"></div> </div> <div class="mb-5"> <div id="GoogleBarChart" style="height: 400px; width: 100%"></div> </div> </div> <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> <script> google.charts.load('current', {'packages':['corechart', 'bar']}); google.charts.setOnLoadCallback(drawLineChart); google.charts.setOnLoadCallback(drawBarChart); // Line Chart function drawLineChart() { var data = google.visualization.arrayToDataTable([ ['Day', 'Products Count'], <?php foreach ($productData as $row){ echo "['".$row['day']."',".$row['sell']."],"; } ?> ]); var options = { title: 'Line chart product sell wise', curveType: 'function', legend: { position: 'top' } }; var chart = new google.visualization.LineChart(document.getElementById('GoogleLineChart')); chart.draw(data, options); } // Bar Chart google.charts.setOnLoadCallback(showBarChart); function drawBarChart() { var data = google.visualization.arrayToDataTable([ ['Day', 'Products Count'], <?php foreach ($productData as $row){ echo "['".$row['day']."',".$row['sell']."],"; } ?> ]); var options = { title: ' Bar chart products sell wise', is3D: true, }; var chart = new google.visualization.BarChart(document.getElementById('GoogleBarChart')); chart.draw(data, options); } </script> </body> </html> |
Step 7: Run The Application
We can start the server and run the codeigniter 4 application using the below command.
1 | php spark serve |
Now we will run our example using the below Url in the browser.
1 | http://localhost:8080/chart |
If you liked this article, you can also download it through our Github Repository.