2014-09-23 5 views
0

Я использую JPgraph в первый раз и пытаюсь получить результаты запроса mysql в массив для кода, основанного на примере bargradsmallex4.php. Я пробовал различный синтаксис, но не слишком хорошо знаком с mysql_fetch_array() и не могу заставить его вставлять данные в массив. Любая помощь будет оценена по достоинству. Запрос был протестирован и дает результаты, поэтому он не является самим запросом.Получение результатов mysql в Jpgraph

$sql= mysql_query('SELECT agency,current,sum(current) 
FROM table2 WHERE MATCH(agency) AGAINST("health" IN BOOLEAN MODE) GROUP BY agency '); 


// We need some data 
$datay = array(); 

while($row = mysql_fetch_array($sql)) 

$datay[] = array(
'current' => $row['sum(current)'], 

); 


// Setup the graph. 
$graph = new Graph(400,300);  
$graph->SetScale("textlin"); 
$graph->img->SetMargin(25,15,25,25); 

$graph->title->Set('"GRAD_VER"'); 
$graph->title->SetColor('darkred'); 

// Setup font for axis 
$graph->xaxis->SetFont(FF_FONT1); 
$graph->yaxis->SetFont(FF_FONT1); 

// Create the bar pot 
$bplot = new BarPlot($datay); 
$bplot->SetWidth(0.6); 

// Setup color for gradient fill style 
$bplot->SetFillGradient("navy","lightsteelblue",GRAD_VER); 

// Set color for the frame of each bar 
$bplot->SetColor("navy"); 
$graph->Add($bplot); 

// Finally send the graph to the browser 
$graph->Stroke(); 

ответ

0

Я внесла некоторые изменения в ваш код.

1- Установка Алисы на сумму (текущей)

2- Установки время цикла и $ datay массива.

Пожалуйста, попробуйте, надеюсь, он даст вам требуемый результат.

$sql= mysql_query('SELECT agency,current,sum(current) as sum_of_current FROM table2 WHERE MATCH(agency) AGAINST("health" IN BOOLEAN MODE) GROUP BY agency'); 


// We need some data 
$datay = array(); 

while($row = mysql_fetch_array($sql)) { 
    $datay[] = $row['sum_of_current']; 
} 


// Setup the graph. 
$graph = new Graph(400,300);  
$graph->SetScale("textlin"); 
$graph->img->SetMargin(25,15,25,25); 

$graph->title->Set('"GRAD_VER"'); 
$graph->title->SetColor('darkred'); 

// Setup font for axis 
$graph->xaxis->SetFont(FF_FONT1); 
$graph->yaxis->SetFont(FF_FONT1); 

// Create the bar pot 
$bplot = new BarPlot($datay); 
$bplot->SetWidth(0.6); 

// Setup color for gradient fill style 
$bplot->SetFillGradient("navy","lightsteelblue",GRAD_VER); 

// Set color for the frame of each bar 
$bplot->SetColor("navy"); 
$graph->Add($bplot); 

// Finally send the graph to the browser 
$graph->Stroke(); 
+0

Я не получаю ошибок с этим, но в результате получается сообщение об сломанном изображении. Я не уверен, что это потому, что код выше неправильный или потому что не все мои пути верны. Я должен был добавить папку src к существующим путям, чтобы require_once работал в вышеупомянутом файле, например. – user3470715

+0

Мои примеры работают, поэтому я предполагаю, что это указывает на то, что пути не являются проблемой. – user3470715

+0

@ user3470715 Если это показывает сломанное изображение, должна быть какая-то проблема с вашим графиком или его путями и т. Д. Добавляя сюда ссылку, вы можете получить некоторую помощь. http://stackoverflow.com/questions/6989701/jpgraph-wont-change-colors-on-my-barplot – JazyK