101 lines
2.8 KiB
PHP
101 lines
2.8 KiB
PHP
|
<?php
|
||
|
// include('includes/config/config.php');
|
||
|
// include('includes/functions.php');
|
||
|
$xaxis = array();
|
||
|
|
||
|
$date = date("Y-m-d");
|
||
|
|
||
|
$default_start_date = date('Y-m-d', strtotime($date . ' -7 days'));
|
||
|
|
||
|
$default_end_date = date('Y-m-d', strtotime($date));
|
||
|
|
||
|
error_log("date ." . $default_start_date . " " . $default_end_date);
|
||
|
|
||
|
if (!empty($_POST['start_date'])) {
|
||
|
$default_start_date = date('Y-m-d', strtotime($_POST['start_date']));
|
||
|
}
|
||
|
if (!empty($_POST['end_date'])) {
|
||
|
$default_end_date = date('Y-m-d', strtotime($_POST['end_date']));
|
||
|
}
|
||
|
|
||
|
error_log("date after filter ." . $default_start_date . " " . $default_end_date);
|
||
|
|
||
|
$total_injury_class_name = array();
|
||
|
$total_injury_class = array();
|
||
|
|
||
|
$sql = "select * from injury_class";
|
||
|
$result = mysqli_query($conn, $sql);
|
||
|
while ($row = mysqli_fetch_assoc($result)) {
|
||
|
array_push($total_injury_class_name, '"' . $row['inj_class_name'] . '"');
|
||
|
array_push($total_injury_class, $row['inj_class_id']);
|
||
|
}
|
||
|
|
||
|
error_log("total injury " . print_r($total_injury_class, true));
|
||
|
|
||
|
$injury_data = array();
|
||
|
$date_data = array();
|
||
|
for ($i = 0; $i < sizeof($total_injury_class); $i++) {
|
||
|
$query = "select count(appointment_id) from employee_appointment where date(appointment_date) >= '" . $default_start_date . "' and date(appointment_date) <= '" . $default_end_date . "' and
|
||
|
injury_classes_new ='" . $total_injury_class[$i] . "' or injury_classes_new like '%," . $total_injury_class[$i] . "' or injury_classes_new like '" . $total_injury_class[$i] . ",%' or injury_classes_new like '%," . $total_injury_class[$i] . ",%' ";
|
||
|
error_log(" injury query " . $query);
|
||
|
|
||
|
if (!$result = @mysqli_query($conn, $query)) {
|
||
|
error_log("error in injury chart" . mysqli_error($conn));
|
||
|
exit();
|
||
|
}
|
||
|
if (mysqli_num_rows($result) > 0) {
|
||
|
while ($row = @mysqli_fetch_array($result)) {
|
||
|
array_push($injury_data, $row[0]);
|
||
|
// array_push($date_data, $row[1]);
|
||
|
}
|
||
|
} else {
|
||
|
array_push($injury_data, 0);
|
||
|
}
|
||
|
}
|
||
|
error_log("injury classification data trend " . print_r($injury_data, true));
|
||
|
?>
|
||
|
|
||
|
|
||
|
<script>
|
||
|
var ctx = document.getElementById('chart_monthly_injury').getContext('2d');
|
||
|
var chartData = [<?php echo join(',', $injury_data); ?>];
|
||
|
var xaxis = [<?php echo join(',', $total_injury_class_name); ?>];
|
||
|
// var label = [<?php echo join(',', $date_data); ?>];
|
||
|
|
||
|
var colors = [];
|
||
|
for (var i = 0; i < chartData.length; i++) {
|
||
|
colors.push("#" + Math.floor(Math.random() * 16777215).toString(16));
|
||
|
}
|
||
|
var dataset = [];
|
||
|
// for (var i = 0; i < chartData.length; i++) {
|
||
|
dataset.push({
|
||
|
label: "count",
|
||
|
data: chartData,
|
||
|
borderColor: colors,
|
||
|
backgroundColor: colors,
|
||
|
fill: false,
|
||
|
});
|
||
|
// }
|
||
|
|
||
|
var data = {
|
||
|
labels: xaxis,
|
||
|
datasets: dataset
|
||
|
}
|
||
|
var myChart = new Chart(ctx, {
|
||
|
type: 'horizontalBar',
|
||
|
data: data,
|
||
|
options: {
|
||
|
legend: {
|
||
|
display: false
|
||
|
},
|
||
|
scales: {
|
||
|
xAxes: [{
|
||
|
ticks: {
|
||
|
beginAtZero: true,
|
||
|
precision: 0,
|
||
|
}
|
||
|
}]
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
</script>
|