Нумерация страниц на каждой странице в codeigniter - PullRequest
0 голосов
/ 08 ноября 2018

Я хочу, чтобы 8 записей отображалось на каждой печатной странице ... но моя проблема в том, что я получаю только 8 записей на первой странице, но у меня 18 записей в базе данных ... Когда я нажимаю на второй странице, отображается неопределенная переменная error .. первая страница работает нормально .. ниже я прикрепил скриншот ошибки (когда я нажимаю на вторую страницу) .....

enter image description here Модель:

    <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Mdl_pagination extends CI_Model {

 function __construct(){
  parent::__construct();
 }

 function countcountry(){
  $Search = $this->input->post('Search');
 $this->db->where('billno', $Search);
  $this->db->select('*');
  $this->db->from('salesitem');
   $this->db->join('salesbill', 'salesbill.no = salesitem.billno','left outer');
   $this->db->join('parmaster','parmaster.Pcode = salesbill.partyname','left outer');
   $this->db->join('itemmaster','itemmaster.itcode = salesitem.Product_Code','left outer');
$query = $this->db->get();
  return $query->num_rows();           // return total number of country
 }

 function getcountries($limit,$offset){
     $Search = $this->input->post('Search');
 $this->db->where('billno', $Search);
  $this->db->select('*');
  $this->db->from('salesitem');
   $this->db->join('salesbill', 'salesbill.no = salesitem.billno','left outer');
   $this->db->join('parmaster','parmaster.Pcode = salesbill.partyname','left outer');
   $this->db->join('itemmaster','itemmaster.itcode = salesitem.Product_Code','left outer');
   $offset = $this->uri->segment(3);
$this->db->limit(8, $offset);
$query = $this->db->get()->result_array();
        return $query; 
 }

}

Код контроллера:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Pagination extends CI_Controller {

 function __construct(){
  parent::__construct();
  $this->load->model('mdl_pagination');
  $this->load->library('table');
  $this->load->helper("url");
 }

 public function country($page=null)
 {
  $this->load->library('pagination');

  $config['base_url'] = 'http://localhost/Yuva1/pagination/country/';    // url of the page
  $config['total_rows'] = $this->mdl_pagination->countcountry(); //get total number of records 
  $config['per_page'] = 8; 
   // define how many records on page
  $config['uri_segment'] = 3;

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

  $query = $this->mdl_pagination->getcountries($config['per_page'],$page);
  $data["links"] = $this->pagination->create_links();

        $data['query'] = $query;
  $this->load->view('Inventory/Bill_Print1', $data);
 }

}

И у меня также есть одно сомнение в том, что есть возможность сделать только 8 записей на каждой странице (без ссылки), кроме концепции нумерации страниц, потому что я хочу, чтобы это было реализовано при печати счета

1 Ответ

0 голосов
/ 08 ноября 2018

В настоящее время вы используете массив со смещением, также у вас есть $page, поэтому вам не нужно определять сегмент URI. легко использовать. отредактируйте свою графскую функцию следующим образом.

public function country($page=0)
{
  $this->load->library('pagination');

  $config['base_url'] = 'http://localhost/Yuva1/pagination/country/';    // url of the page
  $config['total_rows'] = $this->mdl_pagination->countcountry(); //get total number of records 
  $config['per_page'] = 8; 
  $config['cur_tag_open']  = '&nbsp;<a class="current">';
  $config['uri_segment'] = 3;
  $page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
  $config['cur_tag_close'] = '</a>';
  $this->pagination->initialize($config);    
  $query = $this->mdl_pagination->getcountries(8,$page);
  $data["links"] = $this->pagination->create_links();
  $data['query'] = $query;
  $this->load->view('Inventory/Bill_Print1', $data);
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...