使用codeigniter传递多个查询以查看
我正试图建立一个与Codeigniter论坛 到目前为止,我已经根据创建动态新闻教程显示了论坛本身和线程 但这是两个不同的页面,我需要将它们显示在一个页面中,如下所示:使用codeigniter传递多个查询以查看,codeigniter,Codeigniter,我正试图建立一个与Codeigniter论坛 到目前为止,我已经根据创建动态新闻教程显示了论坛本身和线程 但这是两个不同的页面,我需要将它们显示在一个页面中,如下所示: Forum 1 - thread 1 - thread 2 - thread 3 Forum 2 - thread 1 - thread 2 etc. <?php foreach ($forums as $forum_item): ?> <h2><?=$forum_item['tit
Forum 1
- thread 1
- thread 2
- thread 3
Forum 2
- thread 1
- thread 2
etc.
<?php foreach ($forums as $forum_item): ?>
<h2><?=$forum_item['title']?></h2>
<div id="main">
<?=$forum_item['description']?>
</div>
<?php foreach ($threads as $thread_item): ?>
<h2><?php echo $thread_item['title'] ?></h2>
<p><a href="thread/<?php echo $thread_item['slug'] ?>"><?=$view?></a></p>
<?php endforeach ?>
<?php endforeach ?>
然后下一步显然是显示一个线程中的所有帖子。很可能正在进行一些分页。但那是以后的事了
现在我有论坛控制器(精简版):
我得到了错误
A PHP Error was encountered
Severity: Notice
Message: Trying to get property of non-object
Filename: models/forum_model.php
Line Number: 16
我希望任何人都有一些好的建议,谢谢
莱尼
*编辑***
谢谢你的反馈
我一直很困惑,这似乎现在起作用了:)
接下来,是如何在视图中显示这个多维数组,以及foreach语句
有什么建议吗
谢谢您使用的是
行数组()
但是我相信你实际上应该使用result\u array()
,因为你想要一个所有论坛的列表。在论坛模型的第16行显示你的代码。行是:$thread\u query=$this->get\u threads($forum\u item->forumid,50,0);我认为问题在于调用了另一个函数,可能做得不正确。谢谢你。这个问题现在已经解决了。在几乎所有的论坛中,我能想到的唯一一个你需要在论坛视图上获得的线程是最后一个发布的线程,为什么你要尝试将所有论坛及其所有线程一起返回?对我来说似乎有悖常理。标准论坛是这样布置的。主页、主论坛(有时列出其子论坛)和最新发布的帖子。论坛页面,列出子论坛及其最新发布的帖子。分论坛页面,列出帖子和最后发帖时间/用户嘿,谢谢,我同意你的观点。我最终只会显示最新的线程,甚至可能没有一个。但仍然需要“双重查询”。一个多级数组,包含论坛和最新线程。所以在我看来,函数还是一样的,你不觉得吗?
<?php foreach ($forums as $forum_item): ?>
<h2><?=$forum_item['title']?></h2>
<div id="main">
<?=$forum_item['description']?>
</div>
<p><a href="forum/<?php echo $forum_item['slug'] ?>"><?=$view?></a></p>
<?php endforeach ?>
<?php foreach ($forums as $forum_item): ?>
<h2><?=$forum_item['title']?></h2>
<div id="main">
<?=$forum_item['description']?>
</div>
<?php foreach ($threads as $thread_item): ?>
<h2><?php echo $thread_item['title'] ?></h2>
<p><a href="thread/<?php echo $thread_item['slug'] ?>"><?=$view?></a></p>
<?php endforeach ?>
<?php endforeach ?>
public function get_forums($slug = FALSE)
{
if ($slug === FALSE)
{
$query= $this->db->get('forum');
foreach ($query->row_array() as $forum_item)
{
$thread_query=$this->get_threads($forum_item->forumid, 50, 0);
}
return $query->result_array();
}
$query = $this->db->get_where('forum', array('slug' => $slug));
return $query->row_array();
}
A PHP Error was encountered
Severity: Notice
Message: Trying to get property of non-object
Filename: models/forum_model.php
Line Number: 16
$query= $this->db->get('forum');
foreach ($query->result() as $forum_item)
{
$forum[$forum_item->forumid]['title']=$forum_item->title;
$thread_query=$this->db->get_where('thread', array('forumid' => $forum_item->forumid), 20, 0);
foreach ($thread_query->result() as $thread_item)
{
$forum[$forum_item->forumid]['thread'][]=$thread_item->title;
}
}
return $forum;
}
$thread_query=$this->get_threads($forum_item['forumid'], 50, 0);