He descubierto flot para jquery para dibujar gráficos agradables. Pero no puedo analizar los datos que quiero representar de MYSQL. Me está volviendo loco porque me sale este error:Gráficos de MYSQL a jquery FLOT
uncaught exception: Invalid dimensions for plot, width = 0, height = 0
¿Hay alguna manera de poner los datos de MySQL en flot aparte de esto ?:
php parte:
<?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 parte:
<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>
He estado buscando en Google ... sin éxito. Parece bastante simple, pero parcela simplemente no va a entender los datos ... o algo ...
La salida del archivo PHP es el siguiente (para dos entradas, por ejemplo):
[{"@cnt := @cnt + 1":"0","MAG":"6.87"},{"@cnt := @cnt + 1":"1","MAG":"11.44"}]
donde @ cnt es un contador para el incremento del eje x de cada fila (0,1,2,3 ...) y MAG es el dato en sí mismo para mostrar en el eje y.
El jQuery que estoy usando es:
<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>
donde Flot es la versión 0.5 y el navegador Firefox.
Es posible que desee publicar parte de la salida de su script PHP que la gente pueda ver lo que los datos JSON-codificado se parece. –
Sí, tienes razón, solo lo he editado. Gracias –
es posible que desee añadir el cual plugin de jQuery que está utilizando. Podría ser el plugin de flot, pero realmente no puede decirlo desde su código solo. – googletorp