How to build a PHP Pie chart

Create your first PHP Pie chart with Dashboard Builder

{dglb}images/how-to-pie-screen0.png|images/how-to-pie-screen0.png" width="60%" height="60%" style="display: block; margin-left: auto; margin-right: auto;|PHP Pie Chart|Group1{/dglb}

Requirements

  • PHP Version 5.6 or later
  • Apache 2 or later
  • Windows 7 or later /Linux 3 or later
  • Firefox 52, Chrome 57, IE 8

Installation

Create your first Dashboard

{dglb}images/php-dashboard-screen1.png|images/php-dashboard-screen1.png" width="60%" height="60%" style="display: block; margin-left: auto; margin-right: auto;|Welcome Screen|Group1{/dglb}

  • Now Click the Database icon
  • Following screen will appear. Select Database from data source tab. Select SQLite from the drop down list of Database, Enter your "../data/Northwind.db" in the DB name field and Save changes as mentioned in the screen.

{dglb}images/php-dashboard-screen5.png|images/php-dashboard-screen5.png" width="40%" height="40%" style="display: block; margin-left: auto; margin-right: auto;| Select your Database|Group1{/dglb}

  • A green tick mark with Database will appear when your database is successfully connected.

{dglb}images/php-dashboard-screen7.png|images/php-dashboard-screen7.png" style="display: block; margin-left: auto; margin-right: auto;| Dashboard Preferece|Group1{/dglb}

  • Select the gear icon for your Dashboard preference.

{dglb}images/php-dashboard-screen8.png|images/php-dashboard-screen8.png" width="60%" height="60%" style="display: block; margin-left: auto; margin-right: auto;| Database Connected|Group1{/dglb}

  • The following screen will appear. List of the tables will appear.

{dglb}images/php-dashboard-screen8b.png|images/php-dashboard-screen8b.png" width="60%" height="60%" style="display: block; margin-left: auto; margin-right: auto;| Chart Preference |Group1{/dglb}

  • Enter your SQL statement in text box, SQL field as the following manner

SELECT strftime('%Y-%m',o.shippeddate) as xaxis, sum(d.quantity) as yaxis from `order details` d, orders o where o.orderid = d.orderid group by strftime('%Y-%m',o.orderdate) limit 50

  • Click the Run Query button

{dglb}images/how-to-pie-screen1.png|images/how-to-pie-screen1.png" width="60%" height="60%" style="display: block; margin-left: auto; margin-right: auto;| SQL Statement|Group1{/dglb}

  • Query Result will appear. Now Select your x-axis data from the drop down list of X and y-axis data from the drop down list of Y .
  • Select Donut from the drop down list of Chart Type
  • Click Save Changes

{dglb}images/how-to-pie-screen2.png|images/how-to-pie-screen2.png" width="60%" height="60%" style="display: block; margin-left: auto; margin-right: auto;| SQL Query Result|Group1{/dglb}

  • Charts will be appeared on the screen as shown below.

{dglb}images/how-to-pie-screen3.png|images/how-to-pie-screen3.png" style="display: block; margin-left: auto; margin-right: auto;| Chart Preference |Group1{/dglb}

  • Now extend the Generate button and click on the PHP Code

{dglb}images/php-dashboard-screen9c.png|images/php-dashboard-screen9c.png" style="display: block; margin-left: auto; margin-right: auto;| Chart Preference |Group1{/dglb}

  • PHP code for the chart will automatically generate, you may copy past this code to your PHP application.

PHP Code


/**
 * DashboardBuilder
 *
 * @author Diginix Technologies www.diginixtech.com
 * Support  - http://www.dashboardbuilder.net
 * @copyright (C) 2018 Dashboardbuilder.net
 * @version 2.1.7
 * @license: license.txt
 */

include("inc/dashboard_dist.php");  // copy this file to inc folder 


// for chart #1
$data = new dashboardbuilder(); 
$data->type =  "line";

$data->source =  "Database"; 
$data->rdbms =  "sqlite"; 
$data->servername =  "";
$data->username =  "";
$data->password =  "";
$data->dbname =  "data\Northwind.db";
$data->xaxisSQL[0]=  "SELECT strftime(^%Y-%m^,o.shippeddate) as xaxis, sum(d.quantity) as yaxis from `order details` d, orders o  where o.orderid = d.orderid group by strftime(^%Y-%m^,o.orderdate) limit 50";
$data->xaxisCol[0]=  "xaxis";
$data->yaxisSQL[0]=  "SELECT strftime(^%Y-%m^,o.shippeddate) as xaxis, sum(d.quantity) as yaxis from `order details` d, orders o  where o.orderid = d.orderid group by strftime(^%Y-%m^,o.orderdate) limit 50";
$data->yaxisCol[0]=  "yaxis";
$data->name = "linechart";
$data->title = "Line Chart";
$data->orientation = "";
$data->xaxistitle = "x-axis title";
$data->yaxistitle = "y-axis title";
$result[0] = $data->result();

?>

<!DOCTYPE html>
<html> 
<head> 
	<script src="assets/js/dashboard.min.js"></script> <!-- copy this file to assets/js folder --> 
	<!--<link rel="stylesheet" href="assets/css/bootstrap.min.css"> Bootstrap CSS file, change the path accordingly --> 


</head>
<body> 

<div class="container">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading"></div>
    <div class="panel-body">
        <?php echo $result[0];?>
    </div>
</div>
</div>
</div>
</body>


 

 

The project also offers free and paid plans. The code for Dashboard Builder can be found on GitHub under this license