2013-10-31 96 views
0

我正在使用php从mySql数据库中提取数据以使用flot绘制图表。查询工作正常,但运行代码时没有显示图形。图中应该出现一个空白区域。以下是我有:Flot图不显示

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 


<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<title>Flot Graph</title> 
<link href="layout.css" rel="stylesheet" type="text/css"> 

<script language="javascript" type="text/javascript" src="../jquery.js"></script> 
<script language="javascript" type="text/javascript" src="../jquery.flot.js"></script> 

</head> 
<body> 
<h1>Flot Graph</h1> 

<div id="placeholder" style="width:600px;height:300px;"></div> 

<?php 

$mysqli=new mysqli('localhost','root',"",'simpledb'); 

    $sql="select name, age from `people` where age=23"; 


    $results = $mysqli->query($sql); 
    if ($results) 
    { 
    while ($row=$results->fetch_assoc()) 
    { 
     $dataset1[] = array($row['name'],$row['age']); 
    } 
    } 
    else 
    { 

    echo "Error"; 
    } 

?> 


<script type="text/javascript"> 
var dataset1 = <?php echo json_encode($dataset1); ?>; 
$(function() 
{ 
$.plot($("#placeholder"), [ 
{ 
    data: dataset1, 
    bars: {show: true} 
    } 
]); 
}); 
</script> 



</body> 
</html> 

回答

1

它看起来像你的X值是字符串,你还不包括categories plugin

+0

谢谢你让我知道!但是,我添加它,它仍然不起作用: var dataset1 = <?php echo json_encode($ dataset1);?>; $ .plot($(“#placeholder”),[dataset1],{xaxis:{mode:“categories”}}); – user99592

+0

@ user99592,给出“理智”的数据,它适用于我:http://jsfiddle.net/Gz8yW/1/ – Mark

0

谢谢大家。我得到它的工作。我不确定问题出在哪里,但是在将javascript部分更改为:

$(function() 
{ 

$.plot("#placeholder", [ dataset1 ], { 
    series: { 
    bars: { 
     show:true, 
     barWidth: 0.6, 
     align: "center" 
     } 
    }, 
    xaxis: { 
     mode: "categories", 
     tickLength:0 
     } 
    }); 

});