简体   繁体   English

分页器1分页出错

[英]Error in pagination of codeigniter 1

In model/rci_model.php 在model / rci_model.php中

public function record_count() {
return $this->db->count_all("produk");
}

public function fetch_countries($limit, $start) {
    $this->db->limit($limit, $start);
     $query=$this->db->query("SELECT * FROM produk WHERE id_kategori='Men' order by nama_produk ASC");
        return $query->result();

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

In controller/sandal_clarudo.php 在controller / sandal_clarudo.php中

function sandals_for_men(){
$data['seo'] = $this->rci_model->tampil_meta(22);
$this->load->view('head', $data);
$config = array();
$config["base_url"] = "http://localhost/clarudo/index.php/sandal_clarudo/sandals_for_men/";
$config["total_rows"] = $this->rci_model->record_count();
$config["per_page"] = 5;
$config["uri_segment"] = 3;

$this->pagination->initialize($config);

$page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
$data["results"] = $this->rci_model->
    fetch_countries($config["per_page"], $page);
$data["links"] = $this->pagination->create_links();
$this->load->view('men', $data);
$this->load->view('footer');
}

In view/men.php 在view / men.php中

<?php
foreach($results as $t){
echo "$t->nama_produk";
}

I want to show product that has category = 'Men' only, but using my code it shows all category products. 我只想显示类别='男士'的产品,但是使用我的代码显示所有类别的产品。 Ideas? 想法?

Try this one. 试试这个。 You wrong when using limit. 使用限制时您错了。

$query=$this->db->query("SELECT * FROM produk WHERE id_kategori='Men' order by nama_produk ASC LIMIT $limit, $start");
$this->db->limit($limit, $start);
$this->db->where('id_kategori', 'men');
$this->db->order_by('nama_produk');
$query = $this->db->get("produk");

Hope this work! 希望这项工作!

for count use : 供计数使用:

public function record_count($limit, $start) {
            $this->db->from('count(id_produk) AS count');
            $this->db->where('id_kategori', 'men');
            $this->db->order_by('nama_produk');
            $this->db->limit($limit, $start);
            $return = $query->row_array();
            return $return['count'];
        }

Try This 尝试这个

in cotroller 在cotroller

$count = $this->rci_model->get_count(); //get number of rows

$config['base_url'] = base_url().'index.php/sandal_clarudo/sandals_for_men/';
$config['total_rows'] = $count;
$config['per_page'] = 5;
$config['uri_segment'] = 3;
$limit = $config['per_page'];

$this->pagination->initialize($config);

$page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;

$data['links'] = $this->pagination->create_links();

$data["results"] = $this->rci_model->fetch_countries($limit, $page);

in model 在模型中

public function get_count() 
{
  //count          
$query=$this->db->query("SELECT * FROM produk WHERE id_kategori='Men'");
$result = $query->result_array();
$count = count($result);
 return $count;
}
//data from table
public function fetch_countries($limit, $page) 
{
$query=$this->db->query("SELECT * FROM produk WHERE id_kategori='Men' LIMIT $page, $limit");
$result = $query->result_array();
return $result;
}

in view 鉴于

//to show data
<?php
foreach ($results as $new_result)
{
echo $new_result['nama_podak'];
}
?>

//to show pagination
<?php
echo $link//Page segment tabs(you can config boostarp for this)
?>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM