我正在使用 codeigniter 开发我的旅行社网站。我想在我的游览或博客列表页面上使用无限滚动,我想每次滚动页面时获取 5 个项目,但是当 ajax 发送请求时我一次只能获取一项数据。这是我的控制器//blog list & Views public function blogs() { $data = $this->data; $blogid = $this->uri->segment('3'); if($blogid == NULL){ $this->load->view('themes/ui/blogs/bloglist1', $data); }else{ $data['blogdata'] = $this->ui_model->blogdetails($blogid); $this->load->view('themes/ui/blogs/blogdetails1', $data); }}//infinite scroll for blogs public function fetch_blogs() { $output = ''; $limit = $this->input->post('limit'); $start = $this->input->post('start'); $moredata = $this->ui_model->fetch_blogs($limit, $start); if($moredata->num_rows() > 0) { foreach($moredata->result() as $row) { $data['blogdata'] = array( 'title' => $row->title, 'banner' => $row->banner, 'blogid' => $row->id, 'slug' => $row->slug ); $output = $this->load->view('themes/ui/blogs/blog_grid1',$data,true); } } echo $output; }这是模型function fetch_blogs($limit, $start) { $this->db->set_dbprefix(''); $this->db->select("*"); $this->db->from("blogs"); $this->db->order_by("id", "DESC"); $this->db->limit($limit, $start); $query = $this->db->get(); return $query; }这是查看 blog_grid1.php <div class="mb-4"><a class="d-block" href="<?=base_url();?>en/blogs/<?=$blogdata['blogid'];?>/<?=$blogdata['slug'];?>"> <img class="img-fluid mb-4 rounded-xs w-100" src="<?=$blogdata['banner'];?>" alt="<?=$blogdata['title'];?>"></a><h5 class="font-weight-bold font-size-21 text-gray-3"> <a href="<?=base_url();?>en/blogs/<?=$blogdata['blogid'];?>/<?=$blogdata['slug'];?>"><?=$blogdata['title'];?></a></h5>这里的问题是“每次 ajax 发送请求时,它只得到一个响应结果..”但是“如果我直接在控制器中编写“view_blog_grid1.php”的html代码,那么它会按预期工作。但我不想让控制器因大量 html 代码而变得混乱,而且我有多个网格模板,如 grid1、grid2、...,我想动态加载。
1 回答
翻翻过去那场雪
TA贡献2065条经验 获得超14个赞
问题就在这里
$output = $this->load->view('themes/ui/blogs/blog_grid1',$data,true);
您正在为输出设置新值,这将仅导致(5th)
foreach 循环中的最后一行,
要解决这个问题,只需附加$this->load->view('themes/ui/blogs/blog_grid1',$data,true)
到$output
变量
$output .= $this->load->view('themes/ui/blogs/blog_grid1',$data,true);
NB*.=
运算符意味着附加并且等于:
$output = $output . $this->load->view('themes/ui/blogs/blog_grid1',$data,true)
- 1 回答
- 0 关注
- 113 浏览
添加回答
举报
0/150
提交
取消