2015-02-11 64 views
-1

我想繪製一個圖表,其中的值將從MySQL數據庫中獲取。它不工作。但是如果我給出手動值,那麼圖表就會顯示出來。下面是我的代碼:需要來自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(); 

>

我沒有及時得到任何價值低於行& trx_value ...

while($row = mysqli_fetch_array($result)) 
    { 
$serie1->addPoint(new Point($row['time']->time, $row['trx_value']->trx_value)); 
    } 

,但如果我想用打印的價值?回聲低於輸出來

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)); 

回答

0

你得周圍$row['time']->time報價是不應該存在,它看起來像你想的「雙指標」的列(即獲得同時使用['field']->field值)。

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

大概應該是

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

通知堆棧溢出的語法高亮顯示如何第一個問題。如果您的文本編輯器不支持語法高亮顯示,則可能需要切換到可以執行的操作。

+0

根據您的建議更正。但仍然沒有輸出。 – Basudev 2015-02-11 14:06:04

+0

@Basudev,你確定'$ row ['time']'和$ row ['trx_value']'包含你認爲他們做了什麼嗎? 'echo'出來,或者在'$ row'上使用'var_dump()'。 – Chris 2015-02-11 14:07:43

+0

是的,我的數據在'時間'和'trx_value'列中。 – Basudev 2015-02-11 14:11:35

相關問題