Php Codeigniter:引用模型结果中返回的特定数组索引
我仍在努力将db查询结果从模型传递回控制器,最后传递到视图。我似乎将数据放在了正确的位置,只是不确定如何最好地访问视图中生成的对象数组 具体地说,我试图查询我的数据库,查找最近有人提交链接的7个不同日期。我得到一个日期数组,然后对每个日期查询在该日期提交的所有链接,并将结果存储在一个数组中。然后在视图中,对于每个不同的日期,我显示一个标题(日期),紧接着是与之相关联的链接 来自不同日期查询的数组($link\u headers): 来自我对已提交的实际链接的查询的数组($links\u result): 。。。一切似乎都很好。但我的问题来自于我的视图,我正试图构建如上所述的HTML。下面是我试图开始工作的代码的简化视图:Php Codeigniter:引用模型结果中返回的特定数组索引,php,codeigniter,multidimensional-array,Php,Codeigniter,Multidimensional Array,我仍在努力将db查询结果从模型传递回控制器,最后传递到视图。我似乎将数据放在了正确的位置,只是不确定如何最好地访问视图中生成的对象数组 具体地说,我试图查询我的数据库,查找最近有人提交链接的7个不同日期。我得到一个日期数组,然后对每个日期查询在该日期提交的所有链接,并将结果存储在一个数组中。然后在视图中,对于每个不同的日期,我显示一个标题(日期),紧接着是与之相关联的链接 来自不同日期查询的数组($link\u headers): 来自我对已提交的实际链接的查询的数组($links\u resu
foreach ($link_headers as $header) {
echo "INDEX: ". $links_headers .", ADDED DATE: ". $header->added_date ."<BR>";
foreach ($links_result[$link_headers] as $result){
echo $result->added_date ."<BR>";
echo $result->link_name ."<BR><BR>";
}
}
foreach($link\u headers作为$header){
echo“索引:.$links\u headers.”,添加日期:“.$header->添加日期”。
”;
foreach($links\u result[$link\u headers]作为$result){
echo$result->added_date.“
”;
echo$result->link_name.“
”;
}
}
因此,我尝试使用第一个数组的索引来告诉我的foreach循环第二个数组的哪个索引要循环并获取内容。显然,我误用了$links\u result[$link\u headers]变量,但我保留了它以显示我试图做的事情
非常感谢您的帮助
Michael我不使用CodeIgniter,但无论是在th框架内还是从PHP中,我都会一下子抓住它,然后索引的问题就变得毫无意义了:
SELECT * FROM model_table mt WHERE mt.added_date IN (
SELECT DISTINCT md.added_date from model_table md
ORDER BY md.added_date DESC
LIMIT 7
) ORDER BY mt.added_date DESC
这将为您提供一系列按日期订购的模型,并将其限定为最近7个日期。因此,这只是选择何时显示标题的问题:
$current = null;
foreach($links as $link) {
if($link->added_date !== $current) {
// show the header and set current to the current date
$current = $link->added_date;
echo 'HEADER: Added on ' . $current . '<br />';
}
echo $row->added_date ."<BR>";
echo $row->link_name ."<BR><BR>";
}
$current=null;
foreach($links作为$link){
如果($link->added_date!==$current){
//显示标题并将当前日期设置为当前日期
$current=$link->added\u date;
echo“头:添加到“$current”。
;
}
echo$row->添加了_日期。“
”;
echo$row->link_name.“
”;
}
SELECT * FROM model_table mt WHERE mt.added_date IN (
SELECT DISTINCT md.added_date from model_table md
ORDER BY md.added_date DESC
LIMIT 7
) ORDER BY mt.added_date DESC
$current = null;
foreach($links as $link) {
if($link->added_date !== $current) {
// show the header and set current to the current date
$current = $link->added_date;
echo 'HEADER: Added on ' . $current . '<br />';
}
echo $row->added_date ."<BR>";
echo $row->link_name ."<BR><BR>";
}