我遇到一个问题,涉及博客帖子并显示另一个表格中的标记词。 我似乎能够很好地从表中提取信息,但是当我尝试显示帖子和标签时,我会在每个帖子中获得一个标签。换句话说,如果我有一个帖子的7个标签,我会得到该帖子的7个迭代,每个标签有一个标签,而不是1个帖子,有7个标签。
我的控制器(确实有关于$ this-> db-> get(帖子,标签)的问题是正确的
$this->db->order_by('posts.id', 'DESC');
$where = "publish";
$this->db->where('status', $where);
$this->db->join('tags', 'tags.post_id = posts.id');
$this->db->limit('7');
$query = $this->db->get('posts', 'tags');
if($query->result())
$data = array();
{
$data['blog'] = $query->result();
}
$data['title'] = 'LemonRose';
$data['content'] = 'home/home_content';
$this->load->view('template1', $data);
观点。 $ limit = 5; //我们应该完整展示多少个帖子? $ i = 1; //计数
foreach ($blog as $row):
$permalink = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].$_SERVER['QUERY_STRING'];
$url = CompressURL ("$permalink");
$description = $row->title . $row->post;
$twittermsg = substr($description, 0, 110);
$twittermsg .= "...more " . $url;
if ($i < $limit) // we are under our limit
{ ?>
<div class="titlebox">
<div class="title"><? echo ucwords($row->title); ?></div>
<span><? echo $row->date, nbs(10), $row->author; ?></span>
</div>
<div class="clear"></div>
<? $str = str_word_count($row->post, 0);
if ($str >= 500) {
$row->post = html_entity_decode($row->post);
$row->post = $this->typography->auto_typography($row->post); // display?>
<div class="split"> <? echo $row->post = word_limiter($row->post, 480); ?>
<div class="tags"><? echo $row->tag; ?></div>*** These 3 lines seem to be where I am confused and getting the wrong display
<p><h3>More <?php echo anchor("main/blog_view/$row->id", ucwords($row->title)); ?> </h3></p>
<p>Trackback URL: <? echo base_url() . "trackbacks/track/$row->id"; ?></p>
<!-- tweet me -->
<?echo anchor("http://twitter.com/home?status=$twittermsg", 'Tweet'); ?>
这是我第一次尝试加入,如果这是正确的方法,我很少有使用implode显示的经验。
提前谢谢。
答案 0 :(得分:1)
尝试
<div class="tags"><? echo implode(', ', $row->tag); ?></div>
并删除此行之前的2行。