我正在尝试传递用户评论,当用户点击创建评论表单上的提交按钮时,他们已发布到要显示的帖子中。但是如果没有刷新页面(也会复制评论),评论就不会显示出来。这就是为什么我试图使用重定向来实现这一点,我发现很难。
目前在我的控制器中我有以下代码..
stars
我在我的视图中显示了这些数据,所有方法都可以使用以下方法....
...
$query = 'SELECT * FROM thread where id='.$id;
$data['thread'] = $this->db->query($query)->result_array();
$query2 = 'SELECT username FROM newUsers where id='.$userid;
$data ['username'] = $this->db->query($query2)->result_array();
$query3 = 'SELECT id FROM newUsers where id='.$userid;
$data ['userid'] = $this->db->query($query3)->result_array();
$query4 = 'SELECT * FROM comments where thread_id='.$id;
$data['comment'] = $this->db->query($query4)->result_array();
我遇到的问题是页面加载时没有出现评论..我知道我必须使用以下
$this->load->view('header', $data);
$this->load->view('discussion/create');
$this->load->view('footer');
在我的控制器/方法中,我有以下方法
redirect('postComment/post','refresh');
我目前正试图用闪存数据传递这些数据,我不确定它是否是最佳方式..我正在使用以下代码...
$this->load->view('header');
$this->load->view('discussion/create');
$this->load->view('footer2');
在视图中,我尝试按以下方式设置数据..
$this->session->set_flashdata('thread', $data['thread']);
$this->session->set_flashdata('username', $data['username']);
$this->session->set_flashdata('userid', $data['userid']);
$this->session->set_flashdata('comment', $data['comment']);
要显示我正在使用以下数据..
$data['thread'] = $this->session->flashdata('thread');
$data['comment'] = $this->session->flashdata('comment');
$data['username'] = $this->session->flashdata('username');
$data['userid'] = $this->session->flashdata('userid');
我得到多个未定义的变量和为foreach()提供的无效参数..对我的问题的任何帮助将不胜感激
答案 0 :(得分:0)
Flashdata仅适用于临时事项,仅适用于页面刷新一次。您可以使用set_userdata()
并将变量设置为常规会话变量,然后在完成后可以取消设置。
但是我认为通过会话变量调查为什么这样做是谨慎的,而不是动态获取数据库行。随着数据库表变大,这最终会出现问题。