Morris 图表和 PHP 个问题
Morris charts & PHP issues
我在 Morris 图表上苦苦挣扎了一段时间。我正在尝试使用 PHP 代码从 Mysql table 调用数据,但一直出现此错误。
Uncaught TypeError: Cannot read property 'length' of undefined
但是当我检查站点时,我发现我得到了 json,所以我相信编码是成功的
Morris.Bar({
element: 'brojLampi',
data: [{"label":"Mali Tabor","value":"5"},{"label":"Prišlin","value":"24"}]*//output*,
xkey: 'naziv_naselja',
ykey: 'broj',
labels:['naziv_naselja'],
});
这里是PHP代码:
<div id="morris-area-chart"></div>
<?php
try {
$db = connectPDO();
$row = $db->prepare("SELECT naziv_naselja, count(naziv_naselja) AS broj FROM v_rasvjeta GROUP BY naziv_naselja");
$row->execute();
$json_data = array();
foreach ($row as $rec) {
$json_array['label'] = $rec['naziv_naselja'];
$json_array['value'] = $rec['broj'];
array_push($json_data, $json_array);
}
?>
<div id="brojLampi"></div>
<script type="application/javascript">
Morris.Bar({
element: 'brojLampi',
data: <?php
echo json_encode($json_data, JSON_UNESCAPED_UNICODE);
?>,
xkey: 'label',
ykey: 'value',
labels:['Name']
});
</script>
<?php
closePDO($db);
}
catch (PDOException $e) {
showPDOErrors($e, $db);
}
?>
甚至,我试过类似的方法,但没有用
$.getJSON("brojLampi", function (data) {
Morris.Bar({
element: 'brojLampi',
data: <?php echo json_encode($json_data,JSON_UNESCAPED_UNICODE)?>,
xkey: 'naziv_naselja',
ykey: 'broj',
labels:['naziv_naselja'],
});
});
我在使用上面的代码时遇到了这个错误:
GET http://localhost:8081/APLIKACIJE/RASVJETA/stranice/brojLampi 404 (Not Found)
任何帮助将不胜感激:)
使用上述问题的代码,我找到了问题的解决方案(很有趣)
<div id="brojLampi"></div>
<script type="application/javascript">
Morris.Bar({
element: 'brojLampi',
data: <?php
echo json_encode($json_data, JSON_UNESCAPED_UNICODE);
?>,
xkey: 'label',
ykey: 'value',
labels:['Name']
});
这是这一行的问题,而不是:
ykey: 'value'
我只是添加了括号,它起作用了
ykey: ['value']
有趣,我知道 :) 希望对您有所帮助
我在 Morris 图表上苦苦挣扎了一段时间。我正在尝试使用 PHP 代码从 Mysql table 调用数据,但一直出现此错误。
Uncaught TypeError: Cannot read property 'length' of undefined
但是当我检查站点时,我发现我得到了 json,所以我相信编码是成功的
Morris.Bar({
element: 'brojLampi',
data: [{"label":"Mali Tabor","value":"5"},{"label":"Prišlin","value":"24"}]*//output*,
xkey: 'naziv_naselja',
ykey: 'broj',
labels:['naziv_naselja'],
});
这里是PHP代码:
<div id="morris-area-chart"></div>
<?php
try {
$db = connectPDO();
$row = $db->prepare("SELECT naziv_naselja, count(naziv_naselja) AS broj FROM v_rasvjeta GROUP BY naziv_naselja");
$row->execute();
$json_data = array();
foreach ($row as $rec) {
$json_array['label'] = $rec['naziv_naselja'];
$json_array['value'] = $rec['broj'];
array_push($json_data, $json_array);
}
?>
<div id="brojLampi"></div>
<script type="application/javascript">
Morris.Bar({
element: 'brojLampi',
data: <?php
echo json_encode($json_data, JSON_UNESCAPED_UNICODE);
?>,
xkey: 'label',
ykey: 'value',
labels:['Name']
});
</script>
<?php
closePDO($db);
}
catch (PDOException $e) {
showPDOErrors($e, $db);
}
?>
甚至,我试过类似的方法,但没有用
$.getJSON("brojLampi", function (data) {
Morris.Bar({
element: 'brojLampi',
data: <?php echo json_encode($json_data,JSON_UNESCAPED_UNICODE)?>,
xkey: 'naziv_naselja',
ykey: 'broj',
labels:['naziv_naselja'],
});
});
我在使用上面的代码时遇到了这个错误:
GET http://localhost:8081/APLIKACIJE/RASVJETA/stranice/brojLampi 404 (Not Found)
任何帮助将不胜感激:)
使用上述问题的代码,我找到了问题的解决方案(很有趣)
<div id="brojLampi"></div>
<script type="application/javascript">
Morris.Bar({
element: 'brojLampi',
data: <?php
echo json_encode($json_data, JSON_UNESCAPED_UNICODE);
?>,
xkey: 'label',
ykey: 'value',
labels:['Name']
});
这是这一行的问题,而不是:
ykey: 'value'
我只是添加了括号,它起作用了
ykey: ['value']
有趣,我知道 :) 希望对您有所帮助