我需要从一个表格中读取一系列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/

10-16 23:16