【问题标题】:how to use where clause in codeigniter pagination如何在codeigniter分页中使用where子句
【发布时间】:2017-08-16 00:51:10
【问题描述】:

当我单击 CodeIgniter 分页的第 2 页链接时,它将根第 2 页并显示数据,但分页链接自动删除。你能帮我找出我的错误吗?

我的看法:

  <?php
foreach ($results as $row)
{
    echo $row->id"<br>";
}
echo $this
    ->pagination
    ->create_links();
?>

我的控制器:

public function search()
{

    $this->load->library('pagination');
    $list= $this->input->post('list');
    $category=$this->input->post('category');
    $area=$this->input->post('area');
    $config = array();
    $config["base_url"] = base_url() . "index.php/Main_control/search";
    $this->db->where('subcategory',$category);        
    $config['total_rows'] = $this->db->get('ad_listing')->num_rows();
    $config['use_page_numbers'] = TRUE;
    $config["per_page"] = 3;
    $config["uri_segment"] = 3;

    $this->pagination->initialize($config);
    $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
    $data["links"] = $this->pagination->create_links();


    if( !$data["results"] = $this->Main_model->fetch_countries($category,$config["per_page"], $page))
    {
        echo "error";
    }
    else
    {
        $this->load->view("test",$data);
    } 
}

我的模特:

public function fetch_countries($category,$limit, $start) {

        $this->db->order_by('rand()');
        $this->db->limit($limit, $start);
        $query = $this->db->get("ad_listing");

        if ($query->num_rows() > 0) {
            foreach ($query->result() as $row) {
                $data[] = $row;
            }
            return $data;
        }
        return false;
}

【问题讨论】:

  • 请任何人帮助我..
  • 给人们一个机会。您在 4 分钟前发布了问题,并在 3 分钟前添加了您的评论。
  • 在你的模型中,你有一个$category,但你不使用它,而在控制器中你有一个where,我不知道你为什么要使用它
  • 你可以看到这篇文章,也许可以帮助你,它对我有用!!!follow this link
  • 告诉我这是否对你有帮助

标签: php codeigniter pagination


【解决方案1】:

在您的模型中,您必须添加

public function fetch_countries($category,$limit, $start) {

    $this->db->order_by('rand()');
    $this->db->limit($limit, $start);

$this->db->where('subcategory',$category);

    $query = $this->db->get("ad_listing");

    if ($query->num_rows() > 0) {
        foreach ($query->result() as $row) {
            $data[] = $row;
        }
        return $data;
    }
    return false;
}

【讨论】:

    猜你喜欢
    • 2011-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-16
    • 2013-04-09
    • 1970-01-01
    相关资源
    最近更新 更多