Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Рисуем графики используя данные с базы SQL

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

xaba

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день,
 
есть задача выводить в WEB графики загрузки каналов Е1, кол-во занятых и свободных.  
Написан скрипт который забирает на оборудовании данные и записывает их в базу MSSQL.
 
Осталось дело за малым, брать данные из этой базы и нарисовать график.
Требования:
 
1. Возможность задавать период времени. Т.е. за какой период нарисовать график- день, неделя, месяц, задавать по календарю.
2. брать данные из базы MsSQL/MySQL
 
Знающие подскажите пожалуйста, есть ли готовый продукт который это сможет сделать? или нужно самому писать скрипты в PHP или еще в чем?
 
пробовал Cacti, не разобрался.  
Может кто наставит на путь истинный?
 
Спасибо,

Всего записей: 3 | Зарегистр. 14-04-2003 | Отправлено: 13:49 12-01-2011
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xaba
Используйте Google Chart
http://code.google.com/apis/chart/docs/gallery/chart_gall.html
+ Графики, диаграммы

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:44 12-01-2011
Neptun01



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Или же Open Flash Chart, но график будет на флеше

Всего записей: 21 | Зарегистр. 05-08-2008 | Отправлено: 22:21 12-01-2011
xaba

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А можно с Open Flash Chart задавать период за который нужно рисовать график?  
К примеру нарисуй график с 05 янв по 10 янв?
 
Я не нашел на сайте.

Всего записей: 3 | Зарегистр. 14-04-2003 | Отправлено: 15:36 13-01-2011 | Исправлено: xaba, 15:37 13-01-2011
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xaba

Цитата:
К примеру нарисуй график с 05 янв по 10 янв?  

это уже задача программиста - выдать скрипту данные, которые тот отобразит.
сделали запрос в базу, получили данные, преобразовали к тому виду, который понимает скрипт графиков, отобразили

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:35 13-01-2011
entelexiya77



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
брать данные из базы MsSQL/MySQL

Ребята есть примеры работы Open Flash Chart с базой?
В нете не нашел.
Очень надо.

Всего записей: 73 | Зарегистр. 20-05-2012 | Отправлено: 20:56 20-01-2014
LordMicro



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
entelexiya77
Смотри тут: http://teethgrinder.co.uk/open-flash-chart-2/tutorial-db-menu.php
и про JSON Тут: http://teethgrinder.co.uk/open-flash-chart-2/tutorial-4.php

Всего записей: 141 | Зарегистр. 17-02-2006 | Отправлено: 12:50 21-01-2014
galleon2005



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста: хочу сделать вывод данных из MySQL массива в график на PHP.
Использую библиоткеку jpgraph.
Если я не использую подключение к MySQL, а просто использую статический массив - график рисуется нормально.
Как только я добавляю в скрипт строчки, в которых содержатся запросы к базе данных - график не рисуется, ошибок тоже никаких нет. Просто показывает иконку битого рисунка.
Если я убираю из скрипта всё, что связано с отрисовкой графика. Оставляю только подключение к MySQL и выборку.  Делаю вывод массива просто в текстовом виде - все ОК.
 
Добавил вывод в файл:
//save to file
$fileName = "/tmp/imagefile.png";
$graph->img->Stream($fileName);
 
 
В файл нормально выводится график, а в браузере попрежнему показывает битую иконку файла.  
Отключил output buffer в php.ini
Теперь вместо битой картинки ошибка:
"JpGraph Error: HTTP headers have already been sent.
Caused by output from file graph.php at line 10."
 
Т.е по прежнему ему не нравится строчка  
"$connection=mysql_connect($hostname,$hostuser,$hostpass);"
И в описании ошибки написано, что она происходит потому что уже  был вывод в браузер
 

Код:
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
include ('Graph/jpgraph.php');
include ('Graph/jpgraph_line.php');
 
$hostname = "localhost";
$hostuser = "123";
$hostpass = "123";
 
$dbname = "base";
 
// начиная с этой строки график перестает отображаться.
$connection=mysql_connect($hostname,$hostuser,$hostpass);
 
 
$db=mysql_select_db($dbname, $connection);
$select5=mysql_query("SELECT * FROM pole1 LIMIT 5");
  while($arow5=mysql_fetch_array($select5, MYSQL_BOTH))
        {
               $datay2[] = $arow5['dst'];
        }
 
$datay1 = array(20,15,23,15,5);
 
// Setup the graph
$graph = new Graph(300,250);
$graph->SetScale("textlin");
 
$graph->img->SetAntiAliasing(false);
$graph->title->Set('Filled Y-grid');
$graph->SetBox(false);
 
$graph->img->SetAntiAliasing();
 
$graph->yaxis->HideZeroLabel();
$graph->yaxis->HideLine(false);
$graph->yaxis->HideTicks(false,false);
 
$graph->xgrid->Show();
$graph->xgrid->SetLineStyle("solid");
$graph->xaxis->SetTickLabels(array('A','B','C','D','E'));
$graph->xgrid->SetColor('#E3E3E3');
 
// Create the first line
$p1 = new LinePlot($datay1);
$graph->Add($p1);
$p1->SetColor("#6495ED");
$p1->SetLegend('Line 1');
 
// Create the second line
$p2 = new LinePlot($datay2);
$graph->Add($p2);
$p2->SetColor("#B22222");
$p2->SetLegend('Line 2');
 
 
$graph->legend->SetFrameWeight(1);
 
// Output line
$graph->Stroke();
 
?>
 

Всего записей: 219 | Зарегистр. 08-03-2006 | Отправлено: 12:50 22-01-2014 | Исправлено: galleon2005, 15:53 22-01-2014
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
galleon2005
$connection=mysql_connect($hostname,$hostuser,$hostpass) or die(mysql_error());
exit;
а так что то выведет?
 


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 22:00 22-01-2014
galleon2005



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
Так тоже пробовал, было тоже самое.
В итоге оказалось, что скрипту не нравилась ошибка  
mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead
 
Точнее не сама ошибка, а сам факт ее вывода мне на экран.
Сделал уровень вывода ошибок поменьше - всё заработало как надо.

Всего записей: 219 | Зарегистр. 08-03-2006 | Отправлено: 07:09 23-01-2014
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » Рисуем графики используя данные с базы SQL


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru