


How to Generate Google Charts (Pie, Bar, Column, and Table) Using PHP, MySQL, and JSON?
Nov 16, 2024 pm 02:03 PMPHP MySQL Google Chart JSON - Complete Example
Using MySQL table data as a data source to generate Google Chart, I found many examples. I searched for a few days and found that there are very few examples on the Internet that use PHP and MySQL to generate Google Charts (pie charts, bar charts, bar charts, tables). I finally found an example that works.
I have received a lot of help from StackOverflow before, so I want to give back this time.
I have two examples, one with Ajax and one without. Today, I'll only show non-Ajax examples.
Usage:
- Requirements: PHP, Apache and MySQL
-
Installation:
- Create a database using phpMyAdmin and name it "chart"
- Create a table using phpMyAdmin and name it "googlechart" and make sure it only has two columns because I used two columns . However, if you want to use more columns, you can also make slight modifications to the code as instructed
- Specify the column names as follows: "weekly_task" and "percentage"
- Insert in the table For some data, only numbers can be used in the field "_percentage_"
Example of PHP-MySQL-JSON-Google Chart:
<?php $con=mysql_connect("localhost","Username","Password") or die("Failed to connect with database!!!!"); mysql_select_db("資料庫名稱", $con); // Google Chart 表格包含兩個欄位,分別是 weekly_task 和 percentage // 這個範例將顯示一個圓餅圖,如果你需要其他的圖表例如長條圖,你必須對程式碼做一些微幅的調整,才能與長條圖或其他圖表搭配 $sth = mysql_query("SELECT * FROM chart"); /* --------------------------- 範例資料:表格 (Chart) -------------------------- weekly_task percentage Sleep 30 Watching Movie 40 work 44 */ // flag 不需要 $flag = true; $table = array(); $table['cols'] = array( // 圖表的標籤,代表欄位標題 // 注意,一個欄位使用 "string" 格式,另一個使用 "number" 格式,因為圓餅圖只使用 "數(shù)字" 來計算百分比,字串則用於欄位標題 array('label' => 'Weekly Task', 'type' => 'string'), array('label' => 'Percentage', 'type' => 'number') ); $rows = array(); while($r = mysql_fetch_assoc($sth)) { $temp = array(); // 下列程式碼用於分割圓餅圖 $temp[] = array('v' => (string) $r['Weekly_task']); // 每一個分塊的值 $temp[] = array('v' => (int) $r['percentage']); $rows[] = array('c' => $temp); } $table['rows'] = $rows; $jsonTable = json_encode($table); //echo $jsonTable; ?> <html> <head> <!--載入 Ajax API--> <script type="text/javascript" src="https://www.google.com/jsapi"></script> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> <script type="text/javascript"> // 載入視覺化 API 及圓餅圖套件。 google.load('visualization', '1', {'packages':['corechart']}); // 設定一個 callback 在 Google Visualization API 載入時執(zhí)行。 google.setOnLoadCallback(drawChart); function drawChart() { // 從伺服器載入的 JSON 資料中,建立我們的資料表格。 var data = new google.visualization.DataTable(<?=$jsonTable?>); var options = { title: '我的每週計畫', is3D: 'true', width: 800, height: 600 }; // 使用部分選項,實例化並繪製我們的圖表。 // 別忘了檢查你的 div ID var chart = new google.visualization.PieChart(document.getElementById('chart_div')); chart.draw(data, options); } </script> </head> <body> <!--這是會放置圓餅圖的 div--> <div>
Example of PHP-PDO-JSON-MySQL-Google Chart:
<?php /* 指令碼 : PHP-PDO-JSON-mysql-googlechart 作者 : Enam Hossain 版本 : 1.0 */ /* -------------------------------------------------------------------- 使用方式: -------------------------------------------------------------------- 需求:PHP、Apache 及 MySQL 安裝: --- 使用 phpMyAdmin 建立一個資料庫,並將其命名為 "chart" --- 使用 phpMyAdmin 建立一個表格,並將其命名為 "googlechart",並確保它只有兩欄,因為我使用了兩欄。不過,如果你想用更多欄,也可以按照指示對程式碼做些微的修改 --- 指定欄位名稱如下:"weekly_task" 和 "percentage" --- 在表格中插入一些資料 --- _percentage_ 欄位只能使用數(shù)字 --------------------------------- 範例資料:表格 (googlechart) --------------------------------- weekly_task percentage ----------- ---------- Sleep 30 Watching Movie 10 job 40 Exercise 20 */ /* 資料庫名稱 */ $dbname = 'chart'; /* 資料庫使用者名稱與密碼 */ $username = 'root'; $password = '123456'; try { /* 建立資料庫連線 */ $conn = new PDO("mysql:host=localhost;dbname=$dbname", $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); /* 從 googlechart 表格中選出所有 weekly tasks */ $result = $conn->query('SELECT * FROM googlechart'); /* --------------------------- 範例資料:表格 (googlechart) -------------------------- weekly_task percentage Sleep 30 Watching Movie 10 job 40 Exercise 20 */ $rows = array(); $table = array(); $table['cols'] = array( // 圖表的標籤,代表欄位標題。 /* 注意,一個欄位使用 "string" 格式,另一個使用 "number" 格式,因為圓餅圖只使用 "數(shù)字" 來計算百分比,字串則用於分塊標題 */ array('label' => 'Weekly Task', 'type' => 'string'), array('label' => 'Percentage', 'type' => 'number') ); /* 抽取 $result 中的資訊 */ foreach($result as $r) { $temp = array(); // 下列程式碼用於分割圓餅圖 $temp[] = array('v' => (string) $r['weekly_task']); // 每一個分塊的值 $temp[] = array('v' => (int) $r['percentage']); $rows[] = array('c' => $temp); } $table['rows'] = $rows; // 將資料轉換成 JSON 格式 $jsonTable = json_encode($table); //echo $jsonTable; } catch(PDOException $e) { echo '錯誤:' . $e->getMessage(); } ?> <html> <head> <!--載入 Ajax API--> <script type="text/javascript" src="https://www.google.com/jsapi"></script> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> <script type="text/javascript"> // 載入視覺化 API 及圓餅圖套件。 google.load('visualization', '1', {'packages':['corechart']}); // 設定一個 callback 在 Google Visualization API 載入時執(zhí)行。 google.setOnLoadCallback(drawChart); function drawChart() { // 從伺服器載入的 JSON 資料中,建立我們的資料表格。 var data = new google.visualization.DataTable(<?=$jsonTable?>); var options = { title: '我的每週計畫', is3D: 'true', width: 800,
The above is the detailed content of How to Generate Google Charts (Pie, Bar, Column, and Table) Using PHP, MySQL, and JSON?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

TosecurelyhandleauthenticationandauthorizationinPHP,followthesesteps:1.Alwayshashpasswordswithpassword_hash()andverifyusingpassword_verify(),usepreparedstatementstopreventSQLinjection,andstoreuserdatain$_SESSIONafterlogin.2.Implementrole-basedaccessc

To safely handle file uploads in PHP, the core is to verify file types, rename files, and restrict permissions. 1. Use finfo_file() to check the real MIME type, and only specific types such as image/jpeg are allowed; 2. Use uniqid() to generate random file names and store them in non-Web root directory; 3. Limit file size through php.ini and HTML forms, and set directory permissions to 0755; 4. Use ClamAV to scan malware to enhance security. These steps effectively prevent security vulnerabilities and ensure that the file upload process is safe and reliable.

In PHP, the main difference between == and == is the strictness of type checking. ==Type conversion will be performed before comparison, for example, 5=="5" returns true, and ===Request that the value and type are the same before true will be returned, for example, 5==="5" returns false. In usage scenarios, === is more secure and should be used first, and == is only used when type conversion is required.

The methods of using basic mathematical operations in PHP are as follows: 1. Addition signs support integers and floating-point numbers, and can also be used for variables. String numbers will be automatically converted but not recommended to dependencies; 2. Subtraction signs use - signs, variables are the same, and type conversion is also applicable; 3. Multiplication signs use * signs, which are suitable for numbers and similar strings; 4. Division uses / signs, which need to avoid dividing by zero, and note that the result may be floating-point numbers; 5. Taking the modulus signs can be used to judge odd and even numbers, and when processing negative numbers, the remainder signs are consistent with the dividend. The key to using these operators correctly is to ensure that the data types are clear and the boundary situation is handled well.

Yes, PHP can interact with NoSQL databases like MongoDB and Redis through specific extensions or libraries. First, use the MongoDBPHP driver (installed through PECL or Composer) to create client instances and operate databases and collections, supporting insertion, query, aggregation and other operations; second, use the Predis library or phpredis extension to connect to Redis, perform key-value settings and acquisitions, and recommend phpredis for high-performance scenarios, while Predis is convenient for rapid deployment; both are suitable for production environments and are well-documented.

TostaycurrentwithPHPdevelopmentsandbestpractices,followkeynewssourceslikePHP.netandPHPWeekly,engagewithcommunitiesonforumsandconferences,keeptoolingupdatedandgraduallyadoptnewfeatures,andreadorcontributetoopensourceprojects.First,followreliablesource

PHPbecamepopularforwebdevelopmentduetoitseaseoflearning,seamlessintegrationwithHTML,widespreadhostingsupport,andalargeecosystemincludingframeworkslikeLaravelandCMSplatformslikeWordPress.Itexcelsinhandlingformsubmissions,managingusersessions,interacti

TosettherighttimezoneinPHP,usedate_default_timezone_set()functionatthestartofyourscriptwithavalididentifiersuchas'America/New_York'.1.Usedate_default_timezone_set()beforeanydate/timefunctions.2.Alternatively,configurethephp.inifilebysettingdate.timez
