Saratov64
Новичок
Уважаемые, добрый субботний вечер....
проблема ...
задача:
Вывод данных из БД MS SQL на график используя библиотеку JpGraph.
Код ниже следующий:
и так проблема. Хочу вывести из БД три параметра
$ydata= значение расхода
$ydata2= значения давление
$ydata3 = значение температуры (не суть)
При выводе на экран график строиться НЕ корректно!
пример скрина
Посмотреть вложение 1176
коментирую две переменных при выводе из SELECT
//$ydata2[] = round($array['p'],1);
//$ydata3[] = round($array['t'],1);
выводит корректно, НО ОДНУ только ...
привожу скрин

далее тестирую на синтетическом простом примере массивов
$ydata = array (1,7);
$ydata2 = array(1,4);
$ydata3 = array(1,2);

т.е. JpGrapch рабочий. Он не понимает походу мой вывод в массив, который стоит в строчке while
тестировал вывод из массива через var_dump ($ydata);
выводит все записи
array(364) { [0]=> float(28915) [1]=> float(28915) [2]=> float(28917) [3]=> float(28917) [4]=> float(28955) [5]=> float(28955) [6]=>........ и так далее.
Т.е. и массив есть, и по отдельности переменные $ydata на графике показывает, а все три, не корректно ....
помогите разобраться, поправить мою ошибку.
/ps уровень НОВЕЧЕК
проблема ...
задача:
Вывод данных из БД MS SQL на график используя библиотеку JpGraph.
Код ниже следующий:
PHP:
<?php
........ подключение к БД
$db_connect=odbc_connect($DBName, $DBUser, $DBPass);
$query ="SELECT ID,name,dattime,q,p,t FROM dbo.gftec
WHERE ID=1
AND name='datchik1'
AND dattime =>2017-01-09
ORDER BY dattime DESC";
$res = odbc_exec ($db_connect,$query);
$row = odbc_fetch_row($res);
while ($array = odbc_fetch_array($res)){
$ydata[] = round($array['q']);
$ydata2[] = round($array['p'],1);
$ydata3[] = round($array['t'],1);
}
/*for ($i=1; $i <= 380; $i++ ){ //тестовый цикл
$q = $data;
}*/
require_once ('/jpgraph-4.0.2/src/jpgraph.php');
require_once ('/jpgraph-4.0.2/src/jpgraph_line.php');
// тестовый массив данных для визуализации:
//$ydata = array (1,7);
//$ydata2 = array(1,4);
//$ydata3 = array(1,2);
$graph = new Graph(700, 550, 'auto', 10, true);
// Указываем, какие оси использовать:
$graph->SetScale('textlin');
$lineplot = new LinePlot($ydata, $xdata);
$lineplot2 = new LinePlot($ydata2, $xdata);
$lineplot3 = new LinePlot($ydata3, $xdata);
// Задаём цвет кривой
$lineplot->SetColor('forestgreen');
$lineplot2->SetColor('orange');
$lineplot3->SetColor('red');
// Присоединяем кривую к графику:
$graph->Add($lineplot);
//$graph->Add($lineplot2);
//$graph->Add($lineplot3);
// Даем графику имя:
$graph->title->Set('ГРАФИК');
// Назовем оси:
$graph->xaxis->title->Set('time');
// Выделим оси цветом:
$graph->xaxis->SetColor('#СС0000');
$graph->yaxis->SetColor('#СС0000');
// Зададим толщину кривой:
$lineplot->SetWeight(3);
// Фон графика зальем градиентом:
$graph->SetBackgroundGradient('ivory', 'orange');
// Придадим графику тень:
$graph->SetShadow(4);
$graph->Stroke();
?>
$ydata= значение расхода
$ydata2= значения давление
$ydata3 = значение температуры (не суть)
При выводе на экран график строиться НЕ корректно!
пример скрина
Посмотреть вложение 1176
коментирую две переменных при выводе из SELECT
//$ydata2[] = round($array['p'],1);
//$ydata3[] = round($array['t'],1);
выводит корректно, НО ОДНУ только ...
привожу скрин

далее тестирую на синтетическом простом примере массивов
$ydata = array (1,7);
$ydata2 = array(1,4);
$ydata3 = array(1,2);

т.е. JpGrapch рабочий. Он не понимает походу мой вывод в массив, который стоит в строчке while
PHP:
while ($array = odbc_fetch_array($res)){
$ydata[] = round($array['q']);
$ydata2[] = round($array['p'],1);
$ydata3[] = round($array['t'],1);
}
выводит все записи
array(364) { [0]=> float(28915) [1]=> float(28915) [2]=> float(28917) [3]=> float(28917) [4]=> float(28955) [5]=> float(28955) [6]=>........ и так далее.
Т.е. и массив есть, и по отдельности переменные $ydata на графике показывает, а все три, не корректно ....
помогите разобраться, поправить мою ошибку.
/ps уровень НОВЕЧЕК
Последнее редактирование: