Pchart-从MySQL检索数据
我试着用pchart创建一个图表,我在官方网站的这个链接中做了如下操作: 但每次我都会犯这个错误 致命错误:在第39行的C:\xampp\htdocs\pChart2.1.0\examples\test2.php中调用非对象上的成员函数addPoints 救命 这是我的全部代码:Pchart-从MySQL检索数据,mysql,pchart,Mysql,Pchart,我试着用pchart创建一个图表,我在官方网站的这个链接中做了如下操作: 但每次我都会犯这个错误 致命错误:在第39行的C:\xampp\htdocs\pChart2.1.0\examples\test2.php中调用非对象上的成员函数addPoints 救命 这是我的全部代码: /* CAT:Line chart */ /* pChart library inclusions */ include("../class/pData.class.php"); include(".
/* CAT:Line chart */
/* pChart library inclusions */
include("../class/pData.class.php");
include("../class/pDraw.class.php");
include("../class/pImage.class.php");
/* Create and populate the pData object */
$MyData = new pData();
/* Connect to the MySQL database */
$db = mysql_connect("localhost", "root", "");
mysql_select_db("pchart",$db);
/* Build the query that will returns the data to graph */
$Requete = "SELECT * FROM `measures`";
$Result = mysql_query($Requete,$db);
while($row = mysql_fetch_array($Result))
{
/* Push the results of the query in an array */
$timestamp[] = $row["timestamp"];
$temperature[] = $row["temperature"];
$humidity[] = $row["humidity"];
}
/* Save the data in the pData array */
$myData->addPoints($timestamp,"Timestamp");
$myData->addPoints($temperature,"Temperature");
$myData->addPoints($humidity,"Humidity");
/* Create the pChart object */
$myPicture = new pImage(700,230,$MyData);
/* Turn of Antialiasing */
$myPicture->Antialias = FALSE;
/* Add a border to the picture */
$myPicture->drawRectangle(0,0,699,229,array("R"=>0,"G"=>0,"B"=>0));
/* Write the chart title */
$myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11));
$myPicture->drawText(150,35,"Average temperature",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
/* Set the default font */
$myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6));
/* Define the chart area */
$myPicture->setGraphArea(60,40,650,200);
/* Draw the scale */
$scaleSettings = array("XMargin"=>10,"YMargin"=>10,"Floating"=>TRUE,"GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE,"CycleBackground"=>TRUE);
$myPicture->drawScale($scaleSettings);
/* Turn on Antialiasing */
$myPicture->Antialias = TRUE;
/* Draw the line chart */
$myPicture->drawLineChart();
/* Write the chart legend */
$myPicture->drawLegend(540,20,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));
/* Render the picture (choose the best way) */
$myPicture->autoOutput("pictures/example.drawLineChart.simple.png");
非常感谢。检查页面是否正确链接到pData.class.php。当它试图调用非对象上的成员函数时,通常会指向该类对于执行该工作的页面不可用。如果看不到具体的代码,就很难提供更多帮助。您将MyData定义为大写为M的newData
include("../class/pDraw.class.php");
include("../class/pImage.class.php");
include("../class/pData.class.php");
$db = mysql_connect("localhost", "root", "");
mysql_select_db("test",$db);
$query = "SELECT `temperature` FROM `measures`";
$result = mysql_query($query,$db);
$cpu="";
while($row = mysql_fetch_array($result))
{
$timestamp[] = $row["timestamp"];
$temperature[] = $row["temperature"];
$humidity[] = $row["humidity"];
}
$myData = new pData();
$myData->addPoints($timestamp,"Timestamp");
$myData->addPoints($temperature,"Temperature");
$myData->addPoints($humidity,"Humidity");
$myData->setAbscissa("Timestamp");
$myData->setSerieOnAxis("Humidity", 1);
$myData->setXAxisName("Time");
//$myData->setXAxisDisplay(AXIS_FORMAT_TIME,"H:i");
$myData->setAxisName(0,"Temperature");
$myData->setAxisUnit(0,"°C");
/* Second Y axis will be dedicated to humidity */
$myData->setAxisName(1,"Humidity");
$myData->setAxisUnit(0,"%");
$myPicture = new pImage(700,230,$myData);
$myPicture->setGraphArea(60,40,670,190);
$myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>15));
$myPicture->drawScale();
$myPicture->drawPlotChart();
$myPicture->Stroke();
/* Create and populate the pData object */
$MyData = new pData();
$myData->addPoints($timestamp,"Timestamp");
$myData->addPoints($temperature,"Temperature");
$myData->addPoints($humidity,"Humidity");
并且不使用大写字母M
/* Create and populate the pData object */
$MyData = new pData();
$myData->addPoints($timestamp,"Timestamp");
$myData->addPoints($temperature,"Temperature");
$myData->addPoints($humidity,"Humidity");
看看海图。远远超过了最好的。许多其他人,包括FusionCharts,这不是免费的,使用HighCharts代码生成自己的chartsHello,我的页面正确链接到pData.class.php;我还有:/*pChart库包含*/include../class/pData.class.php;包括../class/pDraw.class.php;包括../class/pImage.class.php;谢谢,你的代码很好用。当我输入require以检索数据库的用户和密码时,我得到一个错误。