Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用foreach将数据从数据库获取到数组中_Php_Mysql_Arrays_Codeigniter_Foreach - Fatal编程技术网

Php 使用foreach将数据从数据库获取到数组中

Php 使用foreach将数据从数据库获取到数组中,php,mysql,arrays,codeigniter,foreach,Php,Mysql,Arrays,Codeigniter,Foreach,我有一个包含事件的数据库表: 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

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

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\u start]

例如:
$data['2011-04-21']
在这种情况下应该包含两个数组,每个事件一个。我不知道该怎么做。我有以下代码(在CI中):

(参数是日期,如2011-04-20)

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

阵列([2011-04-20]=>阵列( [标题]=>测试事件2[说明] =>第二个事件[开始日期]=>2011-04-20[结束日期]=> 2011-04-20[时间开始]=>12 [时间结束]=>13[用户id]=>1))

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

我试着使用。=但是php抱怨说找不到这样的索引。。因为我没有发起它,我正在尝试添加它

然后,我尝试使用
if(isset($data[$start])
块,但这也没有真正实现

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

试试看

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

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

除非我误解了,否则CI允许您返回一个结果数组,其执行的操作与上面的代码完全相同

return$query->result_array();

我会的


如果您不希望阵列中的所有数据,请不要选择
*
,只获取您需要的数据。

非常感谢。就是这样。:DCool,自动迭代阵列是一个非常有用的概念!!
$data[$row->day_start][]  = array(