我被Google圖表卡住了。
線圖顯示兩個值:Temperature
和Humidity
。谷歌圖表 - 表格沒有列
自從我加入阿賈克斯我的圖表,它不會再加載和我得到的消息:
表沒有列。
這裏是我的代碼:
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
var jsonData = <?php echo json_encode($table); ?>;
// Load the Visualization API and the piechart package.
google.charts.load('current', {'packages':['corechart']});
// Set a callback to run when the Google Visualization API is loaded.
google.setOnLoadCallback(drawChart);
setInterval(drawChart, 10000);
function drawChart() {
$.ajax({
url: 'getTemp.php',
type: 'get',
success: function (json) {
var data = new google.visualization.DataTable(json);
var options = {
title: 'Raspberry:',
curveType: 'function',
'height':400
};
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
});
};
</script>
編輯:這是我的PHP文件:getTemp.php,如果你有什麼事讓我知道。
$conn = new PDO("mysql:host=localhost;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try {
$result = $conn->query('SELECT * FROM Device_Data');
$rows = array();
$table = array();
$table['cols'] = array(
array('label' => 'Timestamp', 'type' => 'string'),
array('label' => 'Temperature', 'type' => 'number'),
array('label' => 'Humidity', 'type' => 'number')
);
foreach($result as $r) {
$data = array();
$data[] = array('v' => (string) $r['Timestamp']);
$data[] = array('v' => (int) $r['Temperature']);
$data[] = array('v' => (int) $r['Humidity']);
$rows[] = array('c' => $data);
}
$table['rows'] = $rows;
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
try {
$result2 = $conn->prepare("SELECT 'Temperature','Humidity', 'Timestamp' from Device_Data;");
$result2->execute();
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
這段代碼與其他所有代碼塊在哪裏? $ table是提前聲明還是在此代碼塊之後聲明?如果<?php變量尚未創建,請刪除此問題並修正您的訂單。 – mickmackusa
我添加了我的php文件,getTemp.php –
什麼是'json'輸出? – Sojtin