Я пытаюсь собрать статистику посещений моего сайта.Я знаю, что могу использовать Google Analytics (что я и делаю), но я хочу попробовать что-то сделать сам, и это хороший способ научиться этому.
Проблема: Я выбираю датыв моей базе данных и сортировать их, чтобы соответствовать этой неделе.После этого я хочу добавить их в файл JSON.Этот файл json используется CanvasJS для создания диаграммы.Я пробовал несколько разных способов, просто чтобы заставить его работать.Но формат массива json не тот, который хочет CanvasJS.
Что мне нужно:
{ visits:[[2019-02-12, 49,],[2019-02-13,40,],[2019-02-14,46,],[2019-02-15,37,], [2019-02-16,31,],[2019-02-17,38,],[2019-02-18,4,] }
Что я получаю:
{ "visits":{"2019-02-12":49,"2019-02-13":40,"2019-02-14":46,"2019-02-15":37,"2019-02-16":31,"2019-02-17":38,"2019-02-18":4} }
Мой сценарий PHP:
// Get first and last day of the current week
$first_day = date('Y-m-d', strtotime("- 6 days"));
$last_day = date('Y-m-d', strtotime("+ 1 days "));
// Return all results the past 7 days
$sql = "SELECT date FROM table WHERE date >= '" . $first_day . "' AND date < '" . $last_day . "'";
if($result = $conn->query($sql)){
$response = array();
$visits = array();
while($row = $result->fetch_array(MYSQLI_ASSOC)){
$old_date = $row['date'];
$old_date_timestamp = strtotime($old_date);
$new_date = date('Y-m-d', $old_date_timestamp);
// I dont need the keys, but I cant avoid it to
// get it to work....
$visits[] = array(
'date' => $new_date
);
}
// Add sum of Dates
$response['visits'] = array_count_values(array_column($visits, 'date'));
// Save to json File
$fp = fopen('results.json', 'w');
fwrite($fp, json_encode($response));
fclose($fp);
}
$conn->close();
Спасибо всем, кто сможет помочь.