pubg/demo.php
Thijs Stobbelaar 7cfb3a8e40 datas
2023-11-08 20:01:42 +01:00

97 lines
No EOL
2.4 KiB
PHP

<?php
$dataPoints = array(
array("y" => 25, "label" => "Sunday"),
array("y" => 15, "label" => "Monday"),
array("y" => 25, "label" => "Tuesday"),
array("y" => 5, "label" => "Wednesday"),
array("y" => 10, "label" => "Thursday"),
array("y" => 0, "label" => "Friday"),
array("y" => 20, "label" => "Saturday")
);
?>
<?php
$dataPointsPerPlayer = [];
$directory = 'data/killstats';
// Check if the directory exists
if (!is_dir($directory)) {
die("The directory $directory does not exist");
}
// Open the directory
if ($handle = opendir($directory)) {
// Loop through the directory
while (false !== ($entry = readdir($handle))) {
if ($entry !== '.' && $entry !== '..') {
// Read each file
$filepath = $directory . '/' . $entry;
$content = file_get_contents($filepath);
// Decode JSON data to PHP array
$jsonArray = json_decode($content, true);
// Extract playername
$playername = $jsonArray['stats']['playername'];
// Process the date
$date = new DateTime($jsonArray['created']);
$label = $date->format('m-d'); // Month-Day format
// Initialize player array if not existing
if (!isset($dataPointsPerPlayer[$playername])) {
$dataPointsPerPlayer[$playername] = [];
}
// Add to dataPoints for this player
$dataPointsPerPlayer[$playername][] = array(
"y" => $jsonArray['winplace'],
"label" => $label
);
}
}
closedir($handle);
}
// Now, $dataPointsPerPlayer is an array that contains an array of data points for each player
// You can access the data for a specific player like this:
// $playerData = $dataPointsPerPlayer['Lanta01'];
// Output the array for debugging purposes
echo '<pre>';
print_r($dataPointsPerPlayer);
echo '</pre>';
?>
<!DOCTYPE HTML>
<html>
<head>
<script>
window.onload = function () {
var chart = new CanvasJS.Chart("chartContainer", {
title: {
text: "Winrato last month"
},
axisY: {
title: "wins"
},
data: [{
type: "line",
dataPoints: <?php echo json_encode($dataPoints, JSON_NUMERIC_CHECK); ?>
}]
});
chart.render();
}
</script>
</head>
<body>
<div id="chartContainer" style="height: 370px; width: 100%;"></div>
<script src="https://cdn.canvasjs.com/canvasjs.min.js"></script>
</body>
</html>