Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 需要mysql中的数据来绘制图形_Php_Mysql_Pie Chart - Fatal编程技术网

Php 需要mysql中的数据来绘制图形

Php 需要mysql中的数据来绘制图形,php,mysql,pie-chart,Php,Mysql,Pie Chart,我想画一个从MySQL数据库中获取值的图形。它不起作用。但是如果我给出手动值,那么图表就会显示出来。下面是我的代码: <?php include "libchart/classes/libchart.php"; header("Content-type: image/png"); $chart = new LineChart(); $con=mysqli_connect("localhost","root","","bkash"); $result = mysqli_query($c

我想画一个从MySQL数据库中获取值的图形。它不起作用。但是如果我给出手动值,那么图表就会显示出来。下面是我的代码:

<?php
include "libchart/classes/libchart.php";

header("Content-type: image/png");

$chart = new LineChart();
$con=mysqli_connect("localhost","root","","bkash");

$result = mysqli_query($con,"SELECT time,trx_value FROM dialer_rate where mno='tnr'"); 
$serie1 = new XYDataSet();
 while($row = mysqli_fetch_array($result))
  {
$serie1->addPoint(new Point($row['time']->time, $row['trx_value']->trx_value));
  }

$dataSet = new XYSeriesDataSet();
$dataSet->addSerie("TNR", $serie1);
$dataSet->addSerie("ROBI", $serie2);
$dataSet->addSerie("LNK", $serie3);
$dataSet->addSerie("AIR", $serie4);
$chart->setDataSet($dataSet);

$chart->setTitle("bKash Success/Failure for All MNO");
$chart->getPlot()->setGraphCaptionRatio(0.62);

$chart->render();
但是,如果我想使用echo打印值,下面将显示输出

while($row = mysqli_fetch_array($result))
  { echo $row['time'];
    echo $row['trx_value'];
  };
然后输出就来了

当我使用下面的手动值时,图形也会显示出来

$serie1->addPoint(new Point("06-01", 273));
$serie1->addPoint(new Point("06-02", 421));
$serie1->addPoint(new Point("06-03", 642));
$serie1->addPoint(new Point("06-04", 799));
$serie1->addPoint(new Point("06-05", 1009));
$serie1->addPoint(new Point("06-06", 1106));

您在
$row['time']->time
周围有引号,但不应该在那里,而且看起来您正在尝试对列进行“双索引”(即,使用
['field']
->field
获取值)

应该是

new Point($row['time'], $row['trx_value'])

请注意Stack Overflow的语法highlighter如何提出第一个问题。如果您的文本编辑器不支持语法高亮显示,则可能值得切换到支持语法高亮显示的编辑器。

@Basudev,您确定
$row['time']
$row['trx\u value']
包含您认为它们的功能吗
echo
将它们输出,或者在
$row
上使用
var_dump()
。是的,我的数据在“时间”和“trx_值”列中。@Basudev,那么您可能不需要
->time
->trx_值
。请看我更新的答案。@Basudev,好的,你真的需要
var\u dump($row)
。我们需要看看这个变量里面有什么。请编辑您的问题并添加该输出。如果我使用echo打印,则值显示echo$row['time'];但下面的$serie1->addPoint(新点($row['time'],$row['trx_value'])不起作用;
new Point("$row['time']->time", $row['trx_value']->trx_value)
new Point($row['time'], $row['trx_value'])