>  기사  >  백엔드 개발  >  PHP를 사용하여 MySQL 데이터에서 Google 차트를 만드는 방법은 무엇입니까?

PHP를 사용하여 MySQL 데이터에서 Google 차트를 만드는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-21 10:00:13130검색

How to Create a Google Chart from MySQL Data Using PHP?

PHP MySQL Google 차트 JSON - 전체 예

이 질문은 PHP와 MySQL의 조합을 사용하여 Google 차트를 생성하는 것과 관련이 있습니다. Ajax의 사용은 이 특정 항목에서 다루지 않습니다. 예.

사용

요구사항

  • PHP
  • Apache
  • MySQL

설치

  1. 생성 phpMyAdmin을 사용하여 "chart"라는 데이터베이스를 만듭니다.
  2. "weekly_task"와 "percentage"라는 두 개의 열이 있는 "googlechart"라는 테이블을 만듭니다.
  3. 샘플 데이터를 테이블에 삽입하여 "백분율" 열에는 숫자만 포함됩니다.

코드 예

PHP-MySQL-JSON-Google 차트 예

<?php
// Database connection
$con = mysql_connect("localhost", "Username", "Password");
mysql_select_db("Database Name", $con);

// Query
$sth = mysql_query("SELECT * FROM chart");

// Data preparation
$table['cols'] = array(
    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);

// HTML
?>
<html>
  <head>
    <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">
      google.load('visualization', '1', {'packages':['corechart']});
      google.setOnLoadCallback(drawChart);

      function drawChart() {
        var data = new google.visualization.DataTable(<?php echo $jsonTable; ?>);
        var options = {
            title: 'My Weekly Plan',
            is3D: 'true',
            width: 800,
            height: 600
        };
        var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
        chart.draw(data, options);
      }
    </script>
  </head>
  <body>
    <div>

PHP-PDO-JSON-MySQL-Google 차트 예

<?php
// Database connection
$dbname = 'chart';
$username = 'root';
$password = '123456';

$conn = new PDO("mysql:host=localhost;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

// Query
$result = $conn->query('SELECT * FROM googlechart');

// Data preparation
$rows = array();
$table['cols'] = array(
    array('label' => 'Weekly Task', 'type' => 'string'),
    array('label' => 'Percentage', 'type' => 'number')
);

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;
$jsonTable = json_encode($table);

// HTML
?>
<html>
  <head>
    <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">
      google.load('visualization', '1', {'packages':['corechart']});
      google.setOnLoadCallback(drawChart);

      function drawChart() {
        var data = new google.visualization.DataTable(<?php echo $jsonTable; ?>);
        var options = {
            title: 'My Weekly Plan',
            is3D: 'true',
            width: 800,
            height: 600
        };
        var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
        chart.draw(data, options);
      }
    </script>
  </head>
  <body>
    <div>

PHP-MySQLi-JSON-Google 차트 예

<?php
// Database connection
$DB_NAME = 'chart';
$DB_HOST = 'localhost';
$DB_USER = 'root';
$DB_PASS = '123456';

$mysqli = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);

if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

// Query
$result = $mysqli->query('SELECT * FROM googlechart');

// Data preparation
$rows = array();
$table['cols'] = array(
    array('label' => 'Weekly Task', 'type' => 'string'),
    array('label' => 'Percentage', 'type' => 'number')
);

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;
$jsonTable = json_encode($table);

// HTML
?>
<html>
  <head>
    <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">
      google.load('visualization', '1', {'packages':['corechart']});
      google.setOnLoadCallback(drawChart);

      function drawChart() {
        var data = new google.visualization.DataTable(<?php echo $jsonTable; ?>);
        var options = {
            title: 'My Weekly Plan',
            is3D: 'true',
            width: 800,
            height: 600
        };
        var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
        chart.draw(data, options);
      }
    </script>
  </head>
  <body>
    <div>

문제 해결

다음과 같은 경우 오류:

syntax error var data = new google.visualization.DataTable(<?php echo $jsonTable; ?>);

이는 귀하의 환경이 짧은 태그를 지원하지 않음을 나타냅니다. 이 문제를 해결하려면 다음 코드를 대신 사용하세요.

<?php echo $jsonTable; ?>

위 내용은 PHP를 사용하여 MySQL 데이터에서 Google 차트를 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.