【问题标题】:How to show titles gotten from my database for my application blogposts如何为我的应用程序博客文章显示从我的数据库中获取的标题
【发布时间】:2020-09-10 15:21:52
【问题描述】:

我是 codeigniter 的新手,我想为我的应用程序博客文章显示从我的数据库中获取的动态标题。我尝试了下面的代码,但我一直收到“未定义的变量错误”。

下面是控制器

function blogpost(){
$entry_slug = $this->uri->segment(2);

    $config['total_rows'] = $this->Client_model->get_post_count();
    $config['per_page'] = 5;
   
$data['queries'] = $this->Client_model->get_all_post($config['per_page']);

$result = $this->Client_model->get_post($entry_slug,$entry_name); 

$data['title'] = $result['entry_name'];

$data['post']= $this->Client_model->get_post($entry_slug,$entry_name);
$this->load->view('templates/headerss', $data);
$this->load->view('pages/blogpost');
$this->load->view('templates/footerss');
}

模型是

    function get_post($entry_slug,$entry_name){
$this->db->select();
$this->db->from('entry');
$this->db->where('entry_slug',$entry_slug);
$post = $this->db->get();
return $post->result_array(); }

我的看法是

 <title><?php if (!empty($title)) echo $title;?></title>

请帮帮我,我已经坚持了好几天了。当每个博客文章被点击时,我真的需要从数据库表(列“entry_name”)中更改标题。谢谢

【问题讨论】:

  • 在给出错误信息时,提供完整的错误信息是有帮助的。在这种情况下,告诉我们您收到未定义的变量错误是没有帮助的。如果您告诉是哪些变量,在哪个文件中,在哪一行(如错误消息中给出)会更有帮助。
  • $entry_name 在您的功能中未定义,但您仍在尝试将其传递给get_posts()。这将引发未定义的变量警告。您还应该检查 $result 是否包含您期望的内容,而不是仅仅假设 $result['entry_name'] 存在。否则您可能还会收到未定义的索引警告。

标签: php codeigniter page-title


【解决方案1】:

如果您决定在您的模型中使用return $post-&gt;result_array();,您必须首先使用 foreach() 在控制器中获取结果。 像这样:::

foreach($result as $row){
$data['title'] = $row['entry_name'];
}

或其他解决方案:

更改您的模型:$post-&gt;result_array();$post-&gt;row_array()

它应该可以在控制器内部不使用 foreach 的情况下工作。因为它只将查询结果数组的 1 行提取到 $data['title'] = $result['entry_name'];

另一种解决方案:

$post-&gt;row(); 然后在你的控制器中使用$data['title'] = $result-&gt;entry_name;

【讨论】:

  • 这个答案是你的问题吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-06
  • 2018-12-02
  • 1970-01-01
  • 2019-08-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多