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

Получить данные из 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 недель, он также отобразит срез круговой диаграммы. Наряду с этим, он также должен отображать часы для той недели, которые поступают в массиве.

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?

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]