我一直在尝试使用SELECT Count
从mysql数据库中检索数据,因为我得到了一个国家列表,我想要计算每个国家/地区在SovereignState
列中显示的次数,Google Geo Chart并浏览,我相信json_encode
应该做到这一点。
但是,我不知道如何从我的php代码中创建一个json_encode
,然后将其放在图表的DataTable
中。
这是php代码:
define('DB_NAME', '');
define('DB_USER', '');
define('DB_PASSWORD','');
define('DB_HOST', '');
$conn = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) ;
if ($conn->connect_error) {
die ('Could not connect: ' . $conn->connect_error);
}
$sql = "SELECT SovereignState, COUNT(*) FROM Data_2 GROUP BY SovereignState";
echo $sql;
//$result = $conn->query($sql);
$result = $conn->multi_query($sql);
if(!$result) {
echo "Could not successdully run query ($sql) from DB: " . mysql_error(); exit;
}
echo "<pre>";
do {
if ($result = $conn->store_result()) {
while ($row = $result->fetch_row()) {
printf("%s - %s\n", $row[0], $row[1]);
}
$result->free();
}
} while ($conn->more_results());
echo "</pre>";
$conn->close();
这是google geochart的HTML代码:
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1", {packages:["geochart"]});
google.setOnLoadCallback(drawRegionsMap);
function drawRegionsMap() {
var data = google.visualization.arrayToDataTable([
['Country', 'Number'],
]);
var options = {};
var chart = new google.visualization.GeoChart(document.getElementById('regions_div'));
chart.draw(data, options);
}
</script>
答案 0 :(得分:0)
您可以使用PHP代码中的json_encode()
并使用Ajax将JSON转换为JS代码。
此外,(不推荐)您可以使用<?php myFunction();?>
从JS代码调用PHP函数,该函数应返回echo json_encode()
。