Codeigniter foreach()限制

时间:2019-04-02 23:02:00

标签: php codeigniter loops

使用Codeigntier 3

我正在尝试将数据库内容限制为5个帖子。现在,我的foreach工作正常,但是我不知道如何将数字限制为5。

我在网上找到的大部分东西都来自codeigniter2。

控制器

public function index(){

        $data['Sideposts'] = $this->Blog_Model->get_bposts();

模型

public function get_bposts($slug = FALSE){

if($slug === FALSE){

  $this->db->order_by('date','DESC');
  $query = $this->db->get('blogposts');
  return $query->result_array();
}

查看代码

<?php foreach($Sideposts as $Sidepost):{ ?>

                        <ul style="list-none;">

   <?php echo $Sidepost['title']; ?>

                        </ul>

                    <?php }endforeach; ?>

4 个答案:

答案 0 :(得分:1)

public function get_bposts($slug = FALSE,$lmt=0){

if($slug === FALSE){

  $this->db->order_by('date','DESC');
  if($lmt>0)
  {
       $query = $this->db->get('blogposts',$lmt);
  } else {
       $query = $this->db->get('blogposts');   
  }
  return $query->result_array();
}

按以下方式使用它:

$data['Sideposts'] = $this->Blog_Model->get_bposts(FALSE,5);

答案 1 :(得分:0)

只需将其替换为您的Model php

  $query = $this->db->get('blogposts');

通过

  $query = $this->db->get('blogposts', 5);

https://www.codeigniter.com/userguide3/database/query_builder.html

答案 2 :(得分:0)

使用camao的答案,但在get_bposts()函数中添加一个参数以指定要获取的数量。

答案 3 :(得分:0)

我同意上一个答案,可以使用如下参数进行使用:

public function get_bposts ($ slug = FALSE, $ limit = NULL) {
.....
if (isset ($ limit))
  $ query = $ this-> db-> get ('blogposts', $limit);
else
  $ query = $ this-> db-> get ('blogposts');
.....
}

现在对于某些用途,您可以添加一个限制作为参数。