Для построения графика мне необходимо по Х выстроить месяца с годами. На примере <?php echo date( "m.20y" );?>
. Соответственно по месяцам я могу сделать +1, а и то не знаю вдруг покажет 13 и так далее, а как быть с годами, что-бы в соответствии месяца менялся год.
Распределение такое 12.2017 01.2018 02.2018
и так далее. Вручную постоянно менять данные не ахти, может есть такое решение выводить месяца будущие в правильном виде? Значения вставляются каждое отдельно! Вот пример кода с датами
xAxis: {
categories: ['2017-12','2018-01','2018-02', '2018-03','2018-04','2018-05','2018-06','2018-07','2018-08','2018-09','2018-10','2018-11']
},
yAxis: {
title: {
text: '1 человек, в одну сторону'
}
},
series: [{
name: 'Москва-Адлер',<? echo ['1 человек, в одну сторону']?>,
data: [0, 0, 0, 0, 0, <? echo $AER['data']['2017-12']['price']; ?>,<? echo $AER['data']['2018-01']['price']; ?>,<? echo $AER['data']['2018-02']['price']; ?>,<? echo $AER['data']['2018-03']['price']; ?>,<? echo $AER['data']['2018-04']['price']; ?>,<? echo $AER['data']['2018-05']['price']; ?>,<? echo $AER['data']['2018-06']['price']; ?>,<? echo $AER['data']['2018-07']['price']; ?>,<? echo $AER['data']['2018-08']['price']; ?>,<? echo $AER['data']['2018-02']['price']; ?>,<? echo $AER['data']['2018-09']['price']; ?>,<? echo $AER['data']['2018-10']['price']; ?>,<? echo $AER['data']['2018-11']['price']; ?>]
},
$dates = [];
$startMonth = 12;
$startYear=2017;
$monthesOnAxis=13;
for($i = 0; $i < $monthesOnAxis; $i++){
$dates[] = date('Y-m', mktime(
0, 0, 0, $startMonth + $i, 1, $startYear
));
}
После этого у нас в $dates
будут все нужные "засечки" месяцев. Функция mktime()
нормально работает с "неправильными" датами, для неё 13.2017 == 01.2018
Предполагаю, что ваш код это JS, тогда вывести даты в него из php можно, например, так:
xAxis: {
categories: <?=json_encode($dates)?>
},
...
UPD: для поля data
код такой (стоять должен ниже, чем код, формирующий $dates
):
$data = [0, 0, 0, 0, 0]; //нули вначале как в вашем примере.
foreach($dates as $date){
$data[] = $AER['data'][$date]['price'];
}
Выводим в js точно также:
series: [{
name: 'Москва-Адлер',<? echo ['1 человек, в одну сторону']?>,
data: <?=json_encode($data)?>
}, ...
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Доброго времени сутокИмеется массив переданный на страницу как $_POST['ch'], в котором храниться неизвестное количество чисел (id checkbox'ов)
Как вывести в шаблоне несколько цен, прибавлением процента
Как текущий код Нативного PHP переделать под синтаксис Laravel ORM?