Получить данные из Oracle с помощью OCI 8 и создать круговую диаграмму Google

0

Получение данных из Oracle:

echo "<br/>Self User data<br/>";
$curs = oci_new_cursor($conn);
$varin1 = "111"; //employee_id
$varin2 = "FEB-2015"; //month_year
$varin3 = "1";
$stid = oci_parse($conn, "begin WEEKLY_EMPLOYEE_DETAILS(:varIn1,:varIn2,:cursbv); end;");
oci_bind_by_name($stid, ":varIn1", $varin1);
oci_bind_by_name($stid, ":varIn2", $varin2);
oci_bind_by_name($stid, ":cursbv", $curs, -1, OCI_B_CURSOR);
oci_execute($stid);
oci_execute($curs);  // Execute the REF CURSOR like a normal statement id

echo "<pre>";
while (($row = oci_fetch_array($curs, OCI_ASSOC+OCI_RETURN_NULLS)) != false) {
    print_r($row) . "<br />\n";
}
oci_free_statement($stid);
oci_free_statement($curs);

Вывод вышеуказанного кода:

Пользовательские данные

Array
(
    [EMPLOYEEID] => 111
    [EMPLOYEENAME] => John Doe
    [TOTAL_HOURS] => 24
    [STATUS] => 1
    [WEEK_ID] => 2
)
Array
(
    [EMPLOYEEID] => 111
    [EMPLOYEENAME] => John Doe
    [TOTAL_HOURS] => 20
    [STATUS] => 2
    [WEEK_ID] => 3
)
Array
(
    [EMPLOYEEID] => 111
    [EMPLOYEENAME] => John Doe
    [TOTAL_HOURS] => 40
    [STATUS] => 2
    [WEEK_ID] => 4
)

Google Круговая диаграмма Код:

<html>
  <head>
    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">
      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);
      function drawChart() {

        var data = google.visualization.arrayToDataTable([
          ['Work', 'Hours per Day'],
      ['Week 1',     25],
      ['Week 2',      25],
      ['Week 3',  25],
      ['Week 4', 25]
        ]);

        var options = {
          title: 'My Daily Activities'
        };

        var chart = new google.visualization.PieChart(document.getElementById('piechart'));

        chart.draw(data, options);
      }
    </script>
  </head>
  <body>
    <div id="piechart" style="width: 900px; height: 500px;"></div>
  </body>
</html>

Как показать данные, полученные в виде круговой диаграммы. Если есть 5 недель в месяц, он также отобразит срез круговой диаграммы. Наряду с этим он также должен отображать часы на эту неделю, которые поступают в массив.

Теги:
pie-chart
charts
google-visualization

1 ответ

0

Круговая диаграмма выглядит великолепно. Вы можете передать переменные php в javascript и использовать их в массиве.

var week1 = <?php echo json_encode($week1['TOTAL_HOURS']); ?>;
etc..

var data = google.visualization.arrayToDataTable([
      ['Work', 'Hours per Week'],
      ['Week 1',     week1],
      ['Week 2',      week2],
      ['Week 3',  week3],
      ['Week 4', week4]
    ]);

Было бы чище поставить эти переменные в массив и сначала проверить, сколько недель в месяц. Вы можете сделать то же самое для ежедневных часов, извлекая ежедневные данные о сотрудниках из базы данных оракула (если они существуют).

Подробнее о передаче переменных в javascript:

Как передать переменные и данные с PHP на JavaScript?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню