亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Codeigniter 中的 Ajax 無限滾動

Codeigniter 中的 Ajax 無限滾動

PHP
猛跑小豬 2023-06-24 17:42:46
我正在使用 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)


查看完整回答
反對 回復 2023-06-24
  • 1 回答
  • 0 關注
  • 155 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號