powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / php+mysql+Highcharts Диаграммы и графики из запроса.
4 сообщений из 4, страница 1 из 1
php+mysql+Highcharts Диаграммы и графики из запроса.
    #39735922
Rustam Ergashev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть результат запроса по ним я сделал таблицу с показаниями состояния по обрашениям граждан. Тепер задача сделат их ввиде диаграм и графиков. Выбрал Highcharts и потестил pie, получился не плохо. Как заполнить его с помощю данных из базы? Вот пробный вариант.
Код: html
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.
38.
39.
40.
41.
42.
43.
44.
45.
46.
<div id="container" style="min-width: 310px; height: 400px; max-width: 600px; margin: 0 auto"></div>
    <script type="text/javascript">
          Highcharts.chart('container', {
              chart: {
                  plotBackgroundColor: null,
                  plotBorderWidth: null,
                  plotShadow: false,
                  type: 'pie'
              },
              title: {
                  text: 'Обрашения на 2018 год'
              },
              tooltip: {
                  pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
              },
              plotOptions: {
                  pie: {
                      allowPointSelect: true,
                      cursor: 'pointer',
                      dataLabels: {
                          enabled: true,
                          format: '<b>{point.name}</b>: {point.percentage:.1f} %',
                          style: {
                              color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black'
                          }
                      }
                  }
              },
              series: [{
                  name: 'Тип обрашения',
                  colorByPoint: true, 
                  data: [{
                      name: 'Заявления','//<?php echo $data[1] ?>',
                      y: 20,//<?php echo $data2[1] ?>,
                      sliced: true,
                      selected: true
                  }, {
                      name:'Жалоба',// '<?php echo $data[2] ?>',
                      y: 4 //<?php echo $data2[2] ?>
                  }, {
                      name: 'Предложения',//'<?php echo $data[3] ?>',
                      y: 4  //<?php echo $data2[3] ?>
                  }]
              }]
          });
		</script>


вот код запроса
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
$str_qur = " select 'Жалоба' as status, count(m.reg_type) as kol from appeal m where  m.reg_type=1 group by m.reg_type union";
$str_qur .= "  select 'Заявление' as status, count(m.reg_type) as kol from appeal m where  m.reg_type=2 group by m.reg_type union";
$str_qur .= "  select 'Предложение' as status,count(m.reg_type) as kol from appeal m where m.reg_type=3 group by m.reg_type"; 
$query = mysql_query($str_qur,$dbcnx) or die(mysql_error());      
                while($arr = mysql_fetch_array($query, MYSQL_BOTH)){  
                  $data[] = $arr['status'];
                  $data2[] = $arr['kol'];

                }


и это данные как поставить на вот этот график
Код: html
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.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
<div id="container1" style="min-width: 310px; height: 400px; max-width: 600px; margin: 0 auto">


    <script type="text/javascript">
           var chart = new Highcharts.Chart({
                chart: { 
                    renderTo: 'container1',
                    type: 'column',
                    margin: [ 50, 50, 100, 80]
                },
                title: {
                    text: 'Виды обращения'
                },
            credits: {
            enabled: false
            },
                xAxis: {
                    categories: ['<?php echo join($data, "','"); ?>'],
                    labels: {
                        rotation: -45,
                        align: 'right',
                        style: {
                            fontSize: '13px',
                            fontFamily: 'Verdana, sans-serif'
                        }
                    }
                },
                yAxis: {
                    min: 0,
                    title: {
                        text: 'нет обращение'
                    }
                },
                legend: {
                    enabled: false,
                layout: 'vertical',
                                    backgroundColor: '#FFFFFF',
                                    align: 'left',
                                    verticalAlign: 'top',
                                    x: 50,
                                    y: 35,
                                    floating: true,
                                    shadow: true
                    },
                tooltip: {
                        pointFormat: '<b>{point.y:.1f}  tickets</b>',
                },
                plotOptions: {
                        column: {
                                    pointPadding: 0.2,
                                    borderWidth: 0
                        }
                },
                series: [{
                    name: ['<?php echo join($data, "','"); ?>'],
                    data: ['<?php echo join($data2, "','"); ?>'],
                      dataLabels: {
                                  enabled: true,
                                  rotation: -90,
                                  color: '#FFFFFF',
                                  align: 'right',
                                  x: 4,
                                  y: 10,
                                  style: {
                                      fontSize: '13px',
                                      fontFamily: 'Verdana, sans-serif',
                                      textShadow: '0 0 3px black',

                                  }
                      }
                }]
           });            

    </script>
</div>



примеры из инета и чуть изменил под себя. Второй график кроми описания нечего не показываеть а первый показывает.
...
Рейтинг: 0 / 0
php+mysql+Highcharts Диаграммы и графики из запроса.
    #39735930
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rustam ErgashevКак заполнить его с помощю данных из базы?В несколько этапов.
1. Получить данные из базы. В данном случае это будут массивы $data и $data2.
2. Передать данные для отображения на клиент. Очевидно, формируется скрипт с использованием данных из вышеназванных массивов.
3. Отрисовать график по полученным с сервера данным. Видимо, этим занимается сторонняя библиотека.


Rustam ErgashevВторой график кроми описания нечего не показываеть а первый показывает.Смотрите, на каком этапе данные теряются, становятся не подходящими для дальнейшего использования, не соответствуют требованиям используемой библиотеки и т.п.
...
Рейтинг: 0 / 0
php+mysql+Highcharts Диаграммы и графики из запроса.
    #39735935
Rustam Ergashev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkleRustam ErgashevКак заполнить его с помощю данных из базы?В несколько этапов.
1. Получить данные из базы. В данном случае это будут массивы $data и $data2.
2. Передать данные для отображения на клиент. Очевидно, формируется скрипт с использованием данных из вышеназванных массивов.
3. Отрисовать график по полученным с сервера данным. Видимо, этим занимается сторонняя библиотека.


Rustam ErgashevВторой график кроми описания нечего не показываеть а первый показывает.Смотрите, на каком этапе данные теряются, становятся не подходящими для дальнейшего использования, не соответствуют требованиям используемой библиотеки и т.п.
1. Данные получены.
2. Вот с этим пунктом у меня проблемы как их передать правильно не получается.
3. Есть ли передат данные получется то график рисует.
Пробную скрипт я показал вот данные из базы массивы $data и $data2 вставлены и тоже проверины они закоментированы. Меня интересует передача за раз всех данных. Вед я незнаю иногда количество элементов массива.
Код: html
1.
2.
  name: ['<?php echo join($data, "','"); ?>'],
  data: ['<?php echo join($data2, "','"); ?>'],


примерно так, но не получилось, где то допустил ошибку.
по второму могу сказать что ошибки устранил который дал браузер, но данные не отображает (график), а описания показывает то есть $data показыветь а $data2 не показывает.
...
Рейтинг: 0 / 0
php+mysql+Highcharts Диаграммы и графики из запроса.
    #39735948
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rustam Ergashev,

Ну так посмотрите код яваскрипта, который Вы сформировали. Сверьтесь с документацией по используемой библиотеке - насколько код исходных данных соответствует требованиям. Если не соответствует - приводите в соответствие проблемное место.
Размерность данных следует тоже проверить. Например, если шкала графика от 0 до 10 единиц, а данные лежат в пределах 100...500 единиц, то пустой график вполне ожидаем.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / php+mysql+Highcharts Диаграммы и графики из запроса.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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