我正在尝试使用初学者的Codeigniter知识创建一个简单的博客。我已经能够循环索引页面中的所有博客帖子。但是当我尝试打开一个帖子时,它并没有显示出来。即使到目前为止看起来对我来说是正确的。
型号:
function get_post($postID) {
$this->db->select()->from('posts')->where(array('active'=>1, 'postID'=> 'postID'))->order_by('date_added', 'desc');
$query = $this->db->get();
return $query->first_row('array');
}
控制器:
function post($postID) {
$data['posts']= $this->post->get_post($postID);
$this->load->view('post',$data);
}
查看:
<?php
if (!isset($post)) { ?>
<p>This was accessed incorrectly</p>
<?php } else { ?>
<h2><?= $post['title']; ?></h2>
<p><?= $post['post']; ?></p>
<?php } ?>
单页显示&#34;访问错误&#34;。以下是博客链接 blog link 。请帮我。
答案 0 :(得分:1)
这可能是&#34;拼写错误&#34;在:
$data['posts']= $this->post->get_post($postID);
请在此处使用posts
(很多),然后尝试使用$post
访问它。所以只需将其更改为:
$data['post']= $this->post->get_post($postID);
应该修复
同样在model
你有:
$this->db->select()->from('posts')->where(array('active'=>1, 'postID'=> 'postID'))->order_by('date_added', 'desc');
使用'postID'=> 'postID'
时,第二部分应为变量$postID
:
$this->db->select()->from('posts')->where(array('active'=>1, 'postID'=> $postID))->order_by('date_added', 'desc');