Я извлекаю числовые данные из базы данных на основе даты, выбранной пользователем. По какой-то причине, когда я выбираю функцию для извлечения всех сегодняшних данных (их нет), она все равно формирует массив с нулевыми значениями столбцов.
Я думаю, проблема заключается либо в функции select_sum(), либо в функцииwhere(). Вот мой CI-запрос:
Код: Выделить всё
$this->db
->select_sum('column1')
->select_sum('column2')
->select_sum('column3')
->where('created_at >=', date('Y-m-d'));
$query = $this->db->get('table_name');
А вот мой цикл foreach, который собирает все выбранные данные в массив для использования на всей странице:
Код: Выделить всё
$popular_items_array = array();
foreach ($query->result() as $key => $row) {
if ($row == NULL) {
echo "Error populating table.";
} else {
$popular_items_array = $row;
}
}
Чтобы просмотреть данные, я сделал:
Что и показывает:
Код: Выделить всё
{"column1":null,"column2":null,"column3":null}
Если я выберу другой период времени (где данные действительно существуют к установленной дате), то же самое эхо JSON отобразит существующие данные. Я не понимаю, почему запрос вообще что-то возвращает? Почему это просто не терпит неудачу? И как я могу запустить проверку/цикл, который обнаружит эту проблему и отобразит сообщение об ошибке, сообщающее пользователю, что на эту дату данных не существует?
Подробнее здесь:
https://stackoverflow.com/questions/174 ... e-no-quali