Я пытаюсь сделать динамический запрос c, используя фильтры даты начала / окончания, чтобы отобразить единицы измерения за дату. Я уже запрашиваю, какие строки доступны между начальной и конечной датой в базе данных, и он создает массив вроде: (array ("2020-03-01", "2020-03-02", 2020-03-03")
. Когда я хочу использовать этот массив в другом foreach для получения связанных единиц в день, я не получу никакого результата. Большой вопрос: что я делаю не так?
Первый раз, когда l oop:
if (mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_assoc($result)) {
$date = $row["datetime"];
$filterDates[] = '"'.$row["datetime"].'", ';
}
}
При использовании этого foreach я получаю результаты.
foreach (array("2020-03-10 00:00:00", "2020-03-11 00:00:00", "2020-03-12 00:00:00", "2020-03-13 00:00:00", "2020-03-14 00:00:00", ) as &$sqlDate)
При использовании этого foreach я не получу результаты.
foreach (($filterDates) as &$sqlDate)
Это запрос 'dynamici c', который я использую для получения единиц в день
$sql = "SELECT `datetime`, `period`, `units` , SUM(`Units`) AS 'units' FROM `Subscriptions_raw` WHERE `datetime` LIKE '%".$sqlDate."%' AND `period` = '1 Month' GROUP BY `datetime`";
$result = $mysqli->query($sql);
for ($set = array (); $row = $result->fetch_assoc(); $set[] = $row);
echo $set[0]["units"].", ";
}