powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) jpgraph - подготовка данных для графика из запроса
17 сообщений из 17, страница 1 из 1
(PHP) jpgraph - подготовка данных для графика из запроса
    #33734378
Cmaila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
результат запроса:
Код: plaintext
1.
2.
3.
4.
date1 - div1 - count1
'01.01.2006'  'отдел1'   65  
'01.01.2006'  'отдел2'   45  
'01.02.2006'  'отдел1'   51  
'01.02.2006'  'отдел2'   102 

т.е. щас я знаю, что серии будет две (для отдела1 и отдела2)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
$datay1 = $datay2 =array();
$f= 0 ;
while (OCIFetch($s))
{
$f=$f+ 1 ;
if ($f== 1 )
array_push($datay1,ociresult ($s, "COUNT1"));
if ($f== 2 )
array_push($datay2,ociresult ($s, "COUNT1"));
if  ($f== 2 )  $F= 0 ;
};
...........
$bplot1 = new BarPlot($datay1);
$bplot2 = new BarPlot($datay2);
..........

а если заранее не знать, сколько серий(отделов), то как быть?
двумерный массив нужен?
как его определить, и как обратиться к строке?
--
плиз хелп
...
Рейтинг: 0 / 0
(PHP) jpgraph - подготовка данных для графика из запроса
    #33734416
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
2 серии или 10 - без разницы, если использовать массивы.
...
Рейтинг: 0 / 0
(PHP) jpgraph - подготовка данных для графика из запроса
    #33734451
Cmaila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
двумерные?
$datay_1d = array(); это для одномерного
а как для двумерного это переписать?

и еще вот это не работает , я хочу добавить резуьтат запроса в строку 2d массива

if ($f==1)
array_push($datay_2d[0],ociresult ($s, "COUNT1"));
if ($f==2)
array_push($datay_2d[1],ociresult ($s, "COUNT1"));
...
Рейтинг: 0 / 0
(PHP) jpgraph - подготовка данных для графика из запроса
    #33734624
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
Cmailaи еще вот это не работает phpfaq.ru/debug
Код:
1.
2.
3.
if ($f==1)
array_push($datay_2d[0],ociresult ($s, "COUNT1"));
if ($f==2)
array_push($datay_2d[1],ociresult ($s, "COUNT1"));
Нафига тут if вообще? Так же, как и $f? Неужели сложно догадаться сделать индексом значение поля div1 таблицы?
...
Рейтинг: 0 / 0
(PHP) jpgraph - подготовка данных для графика из запроса
    #33734812
Cmaila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
while (OCIFetch($s))
{
array_push($datayy[ociresult ($s, "DIV1")],ociresult ($s, "COUNT1"));
};
print_r($datayy);

-- вот что распечатывается
Array ( [отдел1] => [отдел2] )

почему то значения не добавились
...
Рейтинг: 0 / 0
(PHP) jpgraph - подготовка данных для графика из запроса
    #33735600
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
...
Рейтинг: 0 / 0
(PHP) jpgraph - подготовка данных для графика из запроса
    #33737301
Cmaila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
OCIExecute($s, OCI_DEFAULT);
$datay2d =  array();
while (OCIFetch($s))
{
   $datay2d[ociresult ($s, "DIV1")][]=ociresult ($s,"COUNT1");
};

$datay1d = array();
$bplot = array();
$colors = array('pink@0.2', 'orange@0.2', ...);
$s_count=count($datay2d);

for ($i =  0 ; $i < $s_count; $i++)
  {
  $datay1d = $datay2d["отдел1"]; // тута я еще не разобралась, как к ассоциированному 
  print_r($datay1d);                            //массиву обратиться по индексу (по i )
  $bplot[i] = new BarPlot($datay1d);
  $bplot[i]->SetFillColor($colors[$i]);
  };
/*
$datay1d = $datay2d["отдел1"];
  $bplot[1] = new BarPlot($datay1d);
  $bplot[1]->SetFillColor($colors[1]);
$datay1d = $datay2d["отдел2"];
  $bplot[0] = new BarPlot($datay1d);
  $bplot[0]->SetFillColor($colors[2]);
$datay1d = $datay2d["отдел3"];
  $bplot[2] = new BarPlot($datay1d);
  $bplot[2]->SetFillColor($colors[0]);
  */ 


$graph->xaxis->SetTickLabels($gDateLocale->GetMonth());
//$gbarplot = new GroupBarPlot($bplot);
$gbarplot = new GroupBarPlot(array($bplot[ 0 ],$bplot[ 1 ],$bplot[ 2 ]));
$gbarplot->SetWidth( 0 . 6 );
$graph->Add($gbarplot);
$graph->Stroke();

почему не добавляются серии?
массивы ведь правильно распечатываются
и если комментарии убрать, не в цикле создать три серии, то график рисуется
плиз, хелп
...
Рейтинг: 0 / 0
(PHP) jpgraph - подготовка данных для графика из запроса
    #33737339
Cmaila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
массу ошибок наляпала((
...
Рейтинг: 0 / 0
(PHP) jpgraph - подготовка данных для графика из запроса
    #33737340
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
foreach
Код: plaintext
1.
2.
3.
foreach ($datay2d as $k=>$v) {
  $bplot[i] = new BarPlot($v);
  $bplot[i]->SetFillColor($colors[$i]);
};
PS: идея, надеюсь, ясна.
...
Рейтинг: 0 / 0
(PHP) jpgraph - подготовка данных для графика из запроса
    #33737341
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
Пардон.
foreach
Код: plaintext
1.
2.
3.
4.
$colors = array('отдел1'=>'pink@0.2', 'отдел2'=>'orange@0.2');
foreach ($datay2d as $k=>$v) {
  $bplot[$k] = new BarPlot($v);
  $bplot[$k]->SetFillColor($colors[$k]);
};
...
Рейтинг: 0 / 0
(PHP) jpgraph - подготовка данных для графика из запроса
    #33737352
Cmaila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спсб большое!
--
кириллицу отобразить правилльно на графике есть шансы?

DEFINE("LANGUAGE_CYRILLIC",true);
DEFINE("CYRILLIC_FROM_WINDOWS",true);
это уже есть, надо перекомпилировать php?

2.папку jpgraph-1.20.3 куда правильнее положить, в apache/htdocs или php/extensions ?
...
Рейтинг: 0 / 0
(PHP) jpgraph - подготовка данных для графика из запроса
    #33737372
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
Cmailaкириллицу отобразить правилльно на графике есть шансы?

DEFINE("LANGUAGE_CYRILLIC",true);
DEFINE("CYRILLIC_FROM_WINDOWS",true);
это уже есть, надо перекомпилировать php?[/quote]Перекомпилировать? Зачем? Это же библиотека, написанная на PHP.
phpclub.ru/detail/article/jpgraph_ru [quot]2.папку jpgraph-1.20.3 куда правильнее положить, в apache/htdocs или php/extensions ?В принципе, без разницы, но к extensions она не имеет никакого отношения. Вы же свои скрипты не считаете расширениями. А это, в общем-то, точно такой же скрипт.
...
Рейтинг: 0 / 0
(PHP) jpgraph - подготовка данных для графика из запроса
    #33737374
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
Cmailaкириллицу отобразить правилльно на графике есть шансы?
DEFINE("LANGUAGE_CYRILLIC",true);
DEFINE("CYRILLIC_FROM_WINDOWS",true);
это уже есть, надо перекомпилировать php?Перекомпилировать? Зачем? Это же библиотека, написанная на PHP.
phpclub.ru/detail/article/jpgraph_ru 2.папку jpgraph-1.20.3 куда правильнее положить, в apache/htdocs или php/extensions ?В принципе, без разницы, но к extensions она не имеет никакого отношения. Вы же свои скрипты не считаете расширениями. А это, в общем-то, точно такой же скрипт.
PS: как же достаёт этот quot вместо общепринятого quote ;)
...
Рейтинг: 0 / 0
(PHP) jpgraph - подготовка данных для графика из запроса
    #33737782
Cmaila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если надо на одной странице нарисовать график и таблицу, по которой его построили
что-то у меня не получилось в одном php это написать
--
chart1.php
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
include ("../jpgraph-1.20.3/src/jpgraph.php");
include ("../jpgraph-1.20.3/src/jpgraph_bar.php");

$s = OCIParse($c, "select....");
OCIExecute($s, OCI_DEFAULT);
// дальше строим график
.........
наверно надо на главной странице chart_with_graph.php написать:
img src="../chart1.php"
а табличку нартсовать как обычно

вопрос: где выполнять select?
в chart_with_graph.php?
а потом результат запроса как передать в chart.php?

сессии?
...
Рейтинг: 0 / 0
(PHP) jpgraph - подготовка данных для графика из запроса
    #33737867
Cmaila
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
Для того чтобы настроить русские шрифты надо
 1 . Найти их на сервере. Обычно лежат в директории типа /usr/X11R6/lib/X11/fonts/TrueType/ или /usr/X11R6/lib/X11/fonts/TTF/.(

я не поняла, где их искать?(((
apache, php - все на моем компе
нет у меня таких путей((
...
Рейтинг: 0 / 0
(PHP) jpgraph - подготовка данных для графика из запроса
    #33738126
i'm_novice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я на счет шрифтов...
те пути, что вы привели, они для линукса. у вас, я так понимаю, не линукс.
в jpgraph у меня после включения деректив
Код: plaintext
1.
DEFINE("LANGUAGE_CYRILLIC",true);
DEFINE("CYRILLIC_FROM_WINDOWS",true);
русские буквы "местами" не показывались, поэтому я сделал еще так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
function win2uni($s) {
  $s = convert_cyr_string($s, "w", "i");
  for ($result = "", $i =  0 ; $i < strlen($s); $i++) {
    $charcode = ord($s[$i]);
    $result .= ($charcode >  175 ) ? "".( 1040  + ($charcode- 176 )).";" : $s[$i];
  }
  return $result;
}

$text = win2uni("ПРЕВЕД");

ImageTTFText($img, font_size,  0 , $x, $y, $black, font_name, $text);

но с таким отображением дерективы работают без перекодировки
Код: plaintext
$graph -> title -> Set("График изменения температуры");
...
Рейтинг: 0 / 0
(PHP) jpgraph - подготовка данных для графика из запроса
    #33738165
*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
*
Гость
Cmaila
Код: plaintext
1.
Для того чтобы настроить русские шрифты надо
 1 . Найти их на сервере. Обычно лежат в директории типа /usr/X11R6/lib/X11/fonts/TrueType/ или /usr/X11R6/lib/X11/fonts/TTF/.(
я не поняла, где их искать?(((У вас же винда - я правильно понимаю?
Код: plaintext
1.
 3 . ... из директории Winnt/fonts со своего компьютера. 
 4 . Находим в конфигурационном файле JpGraph строчку типа DEFINE("TTF_DIR", ...) и пишем на место директории ту, где нашли ... шрифты.
если надо на одной странице нарисовать график и таблицу, по которой его построили
что-то у меня не получилось в одном php это написать phpfaq.ru/na_tanke#achtung
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) jpgraph - подготовка данных для графика из запроса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]