Я не хочу, чтобы MYSQL отображало повторяющиеся даты.
Мой массив дат:
Array
(
[0] => Array
(
[date] => 2020-05-04 00:00:00
)
[1] => Array
(
[date] => 2020-05-05 00:00:00
)
[2] => Array
(
[date] => 2020-05-03 00:00:00
)
[3] => Array
(
[date] => 2020-05-06 00:00:00
)
[4] => Array
(
[date] => 2020-05-04 00:00:00
)
[5] => Array
(
[date] => 2020-05-05 00:00:00
)
[6] => Array
(
[date] => 2020-05-05 00:00:00
)
)
Мой PHP и код MYSQLI:
$c = Database::$database->query("
SELECT
`date`
FROM `payments`
WHERE
`currency` = '{$this->settings->payment->currency}'
AND
WEEK(`date`) = WEEK(CURRENT_DATE())")->fetch_all(MYSQLI_ASSOC);
foreach ($c as $key => $value) {
$current_date[] = $value['date'];
$current_sum[] = Database::$database->query("SELECT COUNT(*) AS sum FROM `payments` WHERE `currency` = '{$this->settings->payment->currency}' AND `date` = '{$value['date']}'")->fetch_assoc();
}
Что Я пытаюсь сделать?
Продажи
Левая сторона - это мой текущий, что сломано, а правая сторона - это то, что я пытаюсь получить.
Рабочий процесс:
Мне нужно получить все даты (не дубликаты) текущей недели. Затем мне нужно получить все SUM(*) AS sum
каждой даты (не дубликатов) текущей недели.
My JS:
var optionslinechart = {
chart: {
toolbar: {
show: false
},
height: 170,
type: 'line'
},
dataLabels: {
enabled: false
},
stroke: {
curve: 'smooth',
width: [ 8 ]
},
xaxis: {
show: false,
type: 'datetime',
categories: <?= json_encode($data->current_date, true); ?>,
labels: {
show: false,
},
axisBorder: {
show: false,
},
},
grid: {
show: false,
padding: {
left: 15,
right: 15,
bottom: 20
}
},
colors:['#ffffff'],
series: [
{
name: 'SOD',
data: <?= json_encode(nestedToSingle($data->current_sum), true); ?>,
}
],
tooltip: {
x: {
format: 'dd/MM/yy HH:mm'
}
}
};
var chartlinechart = new ApexCharts(
document.querySelector("#chart-widget1"),
optionslinechart
);
chartlinechart.render();