ECharts データ取得:DB連携の基本と実装方法

データベースからデータを取得し、EChartsで使用するには、バックエンド言語(PHP、Python、Node.jsなど)を使用してデータベースに接続し、クエリ結果をJSON形式のデータに変換し、それを前端ページに送信するためにAJAXリクエストを使用してデータを渡す必要があります。その後、EChartsでこのデータを使用してグラフを表示できます。

以下は簡単なサンプルコードです。バックエンド言語として PHP を使用していると仮定します。

  1. PHPファイル(getData.php):
<?php
// 连接数据库
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "dbname";
$conn = new mysqli($servername, $username, $password, $dbname);

// 查询数据库获取数据
$sql = "SELECT * FROM your_table";
$result = $conn->query($sql);

$data = array();
while($row = $result->fetch_assoc()) {
    $data[] = array(
        'name' => $row['name'],
        'value' => $row['value']
    );
}

// 输出数据为 JSON 格式
echo json_encode($data);

// 关闭数据库连接
$conn->close();
?>
  1. EChartsでデータを取得するために、フロントエンドページでAJAXリクエストを使用して表示します。
<!DOCTYPE html>
<html>
<head>
    <script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.2.2/echarts.min.js"></script>
</head>
<body>
    <div id="chart" style="width: 600px; height: 400px;"></div>
    <script>
        var chart = echarts.init(document.getElementById('chart'));

        // 使用 AJAX 请求获取数据
        var xhr = new XMLHttpRequest();
        xhr.open('GET', 'getData.php', true);
        xhr.onreadystatechange = function() {
            if (xhr.readyState === 4 && xhr.status === 200) {
                var data = JSON.parse(xhr.responseText);

                // 在 ECharts 中使用数据创建图表
                chart.setOption({
                    xAxis: {
                        type: 'category',
                        data: data.map(function(item) {
                            return item.name;
                        })
                    },
                    yAxis: {
                        type: 'value'
                    },
                    series: [{
                        data: data.map(function(item) {
                            return item.value;
                        }),
                        type: 'bar'
                    }]
                });
            }
        };
        xhr.send();
    </script>
</body>
</html>

実際の状況に応じて、コード内のデータベース接続およびクエリロジック、EChartsグラフの設定を調整してください。これは単純な例ですが、必要に応じてより複雑なデータ処理やグラフ表示を行うことができます。

bannerAds