У меня есть таблица базы данных с событиями в них:
id | title | description | day_start | day_end | user_id
1 | sometitle | blabla | 2011-04-20 | 2011-04-21 | 1
2 | title 2 | bleble | 2011-04-20 | 2011-04-21 | 1
Я хочу прочитать это из моей базы данных с циклом foreach.
Я хочу сохранить это в $data[day_start]
Например: $data['2011-04-21']
должен содержать два массива в этом случае, по одному для каждого события. Я не уверен, как это сделать. У меня был следующий код (в CI):
(аргумент $start
- это дата, например 2011-04-20).
public function get_event_data($start)
{
$data = array();
$query = $this->db->query(
"SELECT *
FROM tblEvents
WHERE user_id = '" . $this->session->userdata('id') . "'
AND day_start = '" . $start . "';"
);
foreach($query->result() as $row)
{
$data[$row->day_start] = array(
'title' => $row->title,
'description' => $row->description,
'day_start' => $row->day_start,
'day_end' => $row->day_end,
'time_start' => $row->time_start,
'time_end' => $row->time_end,
'user_id' => $row->user_id
);
}
return $data;
}
Однако, как и ожидалось, это только выводит событие SECOND (так как я использую '=', который переопределяет данные, которые помещаются в массив в первый раз):
Array ([2011-04-20] => Array (
[title] => Тестовое событие 2 [description]
=> Второе событие. [day_start] => 2011-04-20 [day_end] =>
2011-04-20 [time_start] => 12
[time_end] => 13 [user_id] => 1))
(данные здесь отличаются от тех, что я указал сверху, но речь идет об идее, а не о данных).
Я пытался использовать. =, Но затем php жалуется, что такого индекса нет. Причина. Я не инициировал его и пытаюсь добавить к нему.
Итак, я попробовал с if(isset($data[$start])
блоком, но это тоже никуда меня не привело.
Я хочу захватить все события за определенный день и поместить их в массив, чтобы я мог обрабатывать их дальше в своем приложении.
Большое спасибо.