PHP MySQL Google Chart JSON - 完整范例
使用 MySQL 资料表资料作为资料来源来产生 Google Chart,我找了很多范例。我找了几天,发现网路上很少有使用 PHP 和 MySQL 的范例来产生 Google Chart (圆饼图、长条图、直条图、表格)。我最后终于找到一个范例可以执行。
我之前已经从 StackOverflow 获得了很多帮助,所以我这次也要回馈。
我有两个范例,一个使用 Ajax 一个则没有。今天,我只会展示非 Ajax 的范例。
使用方式:
- 需求:PHP、Apache 及MySQL
-
安装:
- 使用phpMyAdmin 建立一个资料库,并将其命名为"chart"
- 使用phpMyAdmin 建立一个表格,并将其命名为"googlechart",并确保它只有两栏,因为我使用了两栏。不过,如果你想用更多栏,也可以按照指示对程式码做些微的修改
- 指定栏位名称如下:"weekly_task" 和"percentage"
- 在表格中插入一些资料,栏位"_percentage_" 中只能使用数字
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" 格式,因為圓餅圖只使用 "數字" 來計算百分比,字串則用於欄位標題 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; ?> <!--載入 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 載入時執行。 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> <!--這是會放置圓餅圖的 div--> <div> <p><strong>PHP-PDO-JSON-MySQL-Google Chart 的范例:</strong></p> <pre class="brush:php;toolbar:false"><?php /* 指令碼 : PHP-PDO-JSON-mysql-googlechart 作者 : Enam Hossain 版本 : 1.0 */ /* -------------------------------------------------------------------- 使用方式: -------------------------------------------------------------------- 需求:PHP、Apache 及 MySQL 安裝: --- 使用 phpMyAdmin 建立一個資料庫,並將其命名為 "chart" --- 使用 phpMyAdmin 建立一個表格,並將其命名為 "googlechart",並確保它只有兩欄,因為我使用了兩欄。不過,如果你想用更多欄,也可以按照指示對程式碼做些微的修改 --- 指定欄位名稱如下:"weekly_task" 和 "percentage" --- 在表格中插入一些資料 --- _percentage_ 欄位只能使用數字 --------------------------------- 範例資料:表格 (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" 格式,因為圓餅圖只使用 "數字" 來計算百分比,字串則用於分塊標題 */ 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(); } ?> <!--載入 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 載入時執行。 google.setOnLoadCallback(drawChart); function drawChart() { // 從伺服器載入的 JSON 資料中,建立我們的資料表格。 var data = new google.visualization.DataTable(<?=$jsonTable?>); var options = { title: '我的每週計畫', is3D: 'true', width: 800,</script>
以上是如何使用 PHP、MySQL 和 JSON 生成 Google 图表(饼图、条形图、柱形图和表格)?的详细内容。更多信息请关注PHP中文网其他相关文章!

PHP用于构建动态网站,其核心功能包括:1.生成动态内容,通过与数据库对接实时生成网页;2.处理用户交互和表单提交,验证输入并响应操作;3.管理会话和用户认证,提供个性化体验;4.优化性能和遵循最佳实践,提升网站效率和安全性。

PHP在数据库操作和服务器端逻辑处理中使用MySQLi和PDO扩展进行数据库交互,并通过会话管理等功能处理服务器端逻辑。1)使用MySQLi或PDO连接数据库,执行SQL查询。2)通过会话管理等功能处理HTTP请求和用户状态。3)使用事务确保数据库操作的原子性。4)防止SQL注入,使用异常处理和关闭连接来调试。5)通过索引和缓存优化性能,编写可读性高的代码并进行错误处理。

在PHP中使用预处理语句和PDO可以有效防范SQL注入攻击。1)使用PDO连接数据库并设置错误模式。2)通过prepare方法创建预处理语句,使用占位符和execute方法传递数据。3)处理查询结果并确保代码的安全性和性能。

PHP和Python各有优劣,选择取决于项目需求和个人偏好。1.PHP适合快速开发和维护大型Web应用。2.Python在数据科学和机器学习领域占据主导地位。

PHP在电子商务、内容管理系统和API开发中广泛应用。1)电子商务:用于购物车功能和支付处理。2)内容管理系统:用于动态内容生成和用户管理。3)API开发:用于RESTfulAPI开发和API安全性。通过性能优化和最佳实践,PHP应用的效率和可维护性得以提升。

PHP可以轻松创建互动网页内容。1)通过嵌入HTML动态生成内容,根据用户输入或数据库数据实时展示。2)处理表单提交并生成动态输出,确保使用htmlspecialchars防XSS。3)结合MySQL创建用户注册系统,使用password_hash和预处理语句增强安全性。掌握这些技巧将提升Web开发效率。

PHP和Python各有优势,选择依据项目需求。1.PHP适合web开发,尤其快速开发和维护网站。2.Python适用于数据科学、机器学习和人工智能,语法简洁,适合初学者。

PHP仍然具有活力,其在现代编程领域中依然占据重要地位。1)PHP的简单易学和强大社区支持使其在Web开发中广泛应用;2)其灵活性和稳定性使其在处理Web表单、数据库操作和文件处理等方面表现出色;3)PHP不断进化和优化,适用于初学者和经验丰富的开发者。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3汉化版
中文版,非常好用

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

Dreamweaver Mac版
视觉化网页开发工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。