我需要从一个表格中读取一系列X和Y值,以便使用pChart进行绘图……我知道这适用于单个序列,但我已经尝试了一段时间让下面的代码适用于多个序列。$pidresults是一个搜索表单的输出,用于从另一个使用该值作为外键的表中提取各种X和Y对。
$pidresults = $_SESSION['pidresults'];
$pidsize = count($pidresults);
// select plottable data from sampleSlave table
for ($i=0; $i<$pidsize; $i++) {
$val = $pidresults[$i];
$sql="SELECT * FROM sampleSlave WHERE masterID=$val AND xaxisdata>=1 ORDER BY xaxisdata";
$result = mysql_query($sql) or die('Query failed: ' . mysql_error());
while ($row = mysql_fetch_array($result)) {
$varnameX = "xData$val";
$varnameY = "yData$val";
$$varnameX[] = $row['xaxisdata'];
$$varnameY[] = $row['yaxisdata'];
}
$myData->addPoints($varnameX,"XPID$val");
$myData->addPoints($varnameY,"YPID$val");
$myData->setSerieOnAxis("YPID$val",1);
$myData->setScatterSerie("XPID$val","YPID$val",$i+1);
$myData->setScatterSerieDescription($val,"Sample$val");
}
本质上,我认为我的问题在于在WHILE循环中创建变量名(不确定如何正确地生成越来越多的变量名),但我一生都无法找出错误所在。$myData只是用于pChart,将数组传递给绘图脚本。
任何帮助都非常感谢。
最佳答案
你应该使用数组。然后可以使用x和y作为和数组:
$x[0],$x[1]等。
for ($i=0; $i<=10; $i++)
{
$x[$i] = blah blah blah //assigns the next incremental value of array $x
}
http://www.w3schools.com/php/php_arrays.asp
存储这些数据的其他方法(多个序列的二维数组):
$x[$series][$i] //$x[0][0] is the first x point in the first series
$y[$series][$i] //$y[0][0] is the first y point in the first series
为了可读性,您还可以将$series设置为字符串,例如'series1'
$x['series1'][0];
关于php - PHP循环内的增量变量名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21483129/