作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经思考这个问题好几个小时了,但找不到解决方案。我用谷歌搜索并在 stackoverflow 上搜索了一个重复的问题,但找不到。 (因为我不是以英语为母语,这可能就是原因,如果这是重复的,请将其标记为重复,并请指出问题)。
我有两张 table 。一是“节表”,二是“新闻表”。节表有“节名称”和“节 ID”。
新闻表有“栏目名称”、“内容描述”、“内容标题”、“内容 ID”。我希望我的页面看起来像这样:
第 1 节
标题 1,说明 1
标题 2,说明 2
第 2 节
标题 1,说明 1
标题 2,说明 2
标题 3,说明 3
每个部分应该从数据库中获取最近 5 条新闻。我知道这应该通过循环来完成,我一直在使用 foreach 但似乎无法使其工作。
foreach($sections as $section)
{
echo $section->title;
foreach($news as $new)
{
echo $new->title;
echo $new->description;
}
}
但这只是循环播放所有新闻。我明白了:
第 1 部分:
我想到的另一个解决方案是加入表格,但我得到的是:
第 1 节
第 1 节
等等。不是我要找的。
请帮忙,我一整天都被困在这个问题上:(
[编辑]这是我的 Controller 的简化版本:
$sections = $this->mymodel->getSections();
$id = $sections->id;
$news = $this->mymodel->getNews($id);
这是模型:
function getNews($id){
$rows = $this->db->select('title, description, sectionid, id')
->where('sectionid', $id)
->limit(5)
->order_by('id', 'desc')
->get('news')->result();
return $rows;
}
function getSections(){
$rows = $this->db->select('title, description, id')->get('section')->result();
return $rows;
}
最佳答案
本质上,您需要检查并确保当前新闻元素 ($new
) 与您正在显示的当前节元素 ($section
) 具有相同的部分。在不知道您的确切 key 的情况下,我无法给出更准确的答案,但请尝试以下操作:
foreach($sections as $section)
{
echo $section->title;
foreach($news as $new)
{
if ($section->name == $new->section_name)
{
echo $new->title;
echo $new->description;
echo "<br/>";
}
}
}
关于php - 如何循环遍历两个不同的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17032568/
我是一名优秀的程序员,十分优秀!