我發現了用於繪製漂亮圖表的jquery的flot。但是我無法解析我想從MYSQL表示的數據。它的駕駛我瘋了,因爲我得到這個錯誤:圖表從MYSQL到jquery FLOT
uncaught exception: Invalid dimensions for plot, width = 0, height = 0
有什麼辦法把MYSQL數據轉換成從該海軍報除了?:
PHP的一部分:
<?php
include './includes/config.php';
include './includes/opendb.php';
$ID=$_GET["ID"];
$data=$_GET["data"];
$query_set = "SET @cnt = -1";
$query = "SELECT @cnt +1, {$data} FROM table_inf where ID = {$ID};";
$result = mysql_query("{$query_set}");
if (!$result) {
die("Query to show fields from table failed");
}
$result = mysql_query("{$query_select}");
if (!$result) {
die("Query to show fields from table failed");
}
$arr = array();
while($obj = mysql_fetch_object($result))
{
$arr[] = $obj;
}
//NOW OUTPUT THE DATA:
print json_encode($arr);
mysql_free_result($result);
include './includes/closedb.php';
?>
JavaScript部分:
<script type="text/javascript">
function get_data() {
var options = {
lines: {show: true},
points: {show: true},
yaxis: { min: 0 },
};
$.ajax({ url: "return_values.php?ID=1&data=MAG",
dataType: "json",
success: function(result)
{
plot = $.plot($("#placeholder"), result, options);
}
});
};
</script>
我一直googling ..沒有成功。看起來很簡單,但情節根本不會理解數據...什麼...
php文件的輸出(用於兩個項目爲例)如下:
[{"@cnt := @cnt + 1":"0","MAG":"6.87"},{"@cnt := @cnt + 1":"1","MAG":"11.44"}]
哪裏@ cnt是每行(0,1,2,3 ...)x軸遞增的計數器,MAG是y軸上顯示的數據本身。
我使用的jQuery是:
<script src="./javascripting/jquery-1.3.2.js" type="text/javascript"></script>
<script src="./javascripting/jquery.tabs.pack.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript" src="./javascripting/jquery.flot.js"></script>
其中海軍報是0.5版本和瀏覽器Firefox瀏覽器。
您可能想要發佈一些PHP腳本的輸出,以便人們可以看到JSON編碼數據的外觀。 – 2009-10-20 17:33:56
是的,你是對的,只是編輯它。謝謝 – 2009-10-20 17:54:39
你可能想要添加你正在使用的jQuery插件。可以是flot插件,但不能單獨從您的代碼中分辨出來。 – googletorp 2009-10-20 17:55:38