require_once函数

时间:2012-01-19 20:02:28

标签: php mysql jpgraph

我有来自JpGraph的这组代码来帮助我创建一个条形图。

<?php
require_once ('src/jpgraph.php');
require_once ('src/jpgraph_bar.php');
$datay=array(1992,1993,1995,1996,1997,1998,2001);

// Size of graph
$width=400;
$height=500;

// Set the basic parameters of the graph
$graph = new Graph($width,$height);
$graph->SetScale('textlin');

$top = 60;
$bottom = 30;
$left = 80;
$right = 30;
$graph->Set90AndMargin($left,$right,$top,$bottom);

// Nice shadow
$graph->SetShadow();

// Setup labels
$lbl = array("Andrew\nTait","Thomas\nAnderssen","Kevin\nSpacey","Nick\nDavidsson",
"David\nLindquist","Jason\nTait","Lorin\nPersson");
$graph->xaxis->SetTickLabels($lbl);

// Label align for X-axis
$graph->xaxis->SetLabelAlign('right','center','right');

// Label align for Y-axis
$graph->yaxis->SetLabelAlign('center','bottom');

// Titles
$graph->title->Set('Number of incidents');

// Create a bar pot
$bplot = new BarPlot($datay);
$bplot->SetFillColor('orange');
$bplot->SetWidth(0.5);
$bplot->SetYMin(1990);

?>

然而,这只有在我把它放在我的代码顶部时才有效。如果我把它放在其他地方,它将无法显示。有没有办法克服这个问题,以便如果我将代码专门放在一个地方,例如它下面会出现?另外,我将使用我自己的数据库中的一些数据作为此图的值。

谢谢。

4 个答案:

答案 0 :(得分:1)

需要/包含在运行时解析,而不是在解析期间解析。这允许动态调用它们。因此,在强引用任何代码之前,必须才能完成。

要查看的其他方法是autoloadspl_autoload。这允许在第一次引用时加载类文件。

但是,根据您的评论,问题似乎是使用需要发送标头的JpGraph。您需要检查studentcourse.php以查看是否生成了任何输出(包括无意的空格)。

答案 1 :(得分:1)

JpGraph创建一个显示的图像。您无法同时输出文本和图像。

答案 2 :(得分:0)

好吧,你无法逃避这样一个事实:当你调用new Graph()时,该类应该已经存在,所以如果你在该行之后包含文件它将永远不会工作。

答案 3 :(得分:0)

生成图像,对吗?

我会把它放在一个文件中,然后在你想要图形显示的页面上,只需这样做:

<img src="myGraph.php">