gpt4 book ai didi

php - 使用foreach从数据库中获取数据到数组中

转载 作者:行者123 更新时间:2023-11-29 05:42:24 25 4
gpt4 key购买 nike

我有一个包含事件的数据库表:

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;
}

但是,正如预期的那样,这只会输出第二个事件(因为我使用的是“=”,它会覆盖第一次放入数组中的数据):

Array ( [2011-04-20] => Array ( [title] => Test Event 2 [description] => second event. [day_start] => 2011-04-20 [day_end] => 2011-04-20 [time_start] => 12 [time_end] => 13 [user_id] => 1 ) )

(这里的数据与我在顶部提供的数据不同,但它是关于想法,而不是数据)。

我尝试使用 .= 但随后 php 提示找不到这样的索引.. 因为我没有启动它,我正在尝试添加它。

然后,我尝试使用 if(isset($data[$start]) block ,但这也没有真正让我得到任何地方。

我想获取特定日期的所有事件并将它们放入一个数组中,以便我可以在我的应用程序中进一步处理它。非常感谢。

最佳答案

尝试

$data[$row->day_start][]  = array(

第二组 [] 将创建一个自动迭代数组,因此不会覆盖任何数据。

关于php - 使用foreach从数据库中获取数据到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5728728/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com