0

我正在尝试将分页与 CI 一起使用,问题是,例如:我单击了分页的数字 2,它在一页中显示了所有 7000 行。

我的控制器:

public function inicio() { //reporte
    $campus=$this -> session -> userdata('campus');

    $this->load->library('pagination');

    $config['base_url'] = 'http://zeus.xochicalco.edu.mx/saii/sorteos/login/inicio';
    $config['total_rows'] = 7000;
    $config['per_page'] = 20; 

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


    $data['boletos'] = $this->model_sorteos->reporte($campus);        
    $this -> load -> view('/pages/sorteos/template', $data);
} 

这是我的模型:

  public function reporte($campus,$offset=0){
    $x1=0; $x2=0;
    $id=1;  
    $s= new Sorteo();
    $s -> where('nombre','Sorteo 9') -> get();
    $s->boleto->where('folio >='.$x1.' AND folio <= '.$x2.' ')->get();
    $i=0;
    $boletos=array();
    foreach( $s->boleto as $bol ){

        $b = new Boleto();
        $b->where('id',$bol->id)->get();
        $b->vendedor->get();
        $b->condicion->get();
        $b->estado->get();
        $b->comprador->get();

        $boletos[$i]=array(
                        'boleto' => $b->folio,
                        'estado' => $b->estado->nombre,
                        'condicion' => $b->condicion->nombre,
                        'vendedor' => $b->vendedor->nombre." ".$b->vendedor->apellido_paterno." ".$b->vendedor->apellido_materno,
                        'comprador' => $b->comprador->nombre." ".$b->comprador->apellido_paterno." ".$b->comprador->apellido_materno       
        );              
        $i++;           
    }   return $boletos; }

风景:

<table class="table  table-striped table-bordered" style="" >
            <tr>
                <td>Boleto</td>
                <td>Estado</td>
                <td>Condicion</td>
                <td>Vendedor</td>
                <td>Comprador</td>
            </tr>     
<?php  foreach( $boletos as $b  ){ ?>       
        <tr>
            <td><?php echo $b['boleto'];  ?></td>
            <td><?php echo $b['estado'];  ?></td>
            <td><?php echo $b['condicion'];  ?></td>
            <td><?php echo $b['vendedor'];  ?></td>
            <td><?php echo $b['comprador'];  ?></td>
        </tr> 
<?php    }   echo $this->pagination->create_links(); ?>  </table>  </div>

我是这方面的新手,请帮忙?提前致谢

4

1 回答 1

0

ci 中的分页产生了调用带有参数的函数的工具(根据 per_page 编号。)您必须创建一个带有参数的函数(其 url 在 base 中给出),该参数将这个数字发送到模型并从数据库中获取行. 控制器

/**
 * @author Aniket Singh<aniketsingh@cedcoss.com>
 * @package Page
 * This is the main class of this file
 */
class Page extends CI_Controller{
    /**
     * @package Page
     * This is the constructor function of the Page class
     */
    function __construct(){
        parent::__construct();

    }
    /**
     * This function will implement the concept of pagination 
     * @package Page
     * @param $entry decide the the starting row no. in a table while fetching data
     */
    function test($entry=0){
        $data=array();
        $this->load->library('pagination');
        $config['base_url'] ="http://localhost/ci/page/test";
        $config['total_rows'] = 4000;
        $config['per_page'] = 20;
        $this->pagination->initialize($config);



        $this->load->model('dbpage');
        //Fetch 20 rows at a time staring with id=$entry and save them into $data['entries']
        $data['entries']=$this->dbpage->get_entries($entry);
        $this->load->view('mypage',$data);

    }
}

模型

class Dbpage extends CI_Model {

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

    function get_entries($entry=0)
    {
        $query = $this->db->get('City', 20, $entry);
        return $query->result();
    }

}

看法

<html>
<head>
<title>Pagination</title>
</head>
<body>
     <? php echo $this->pagination->create_links();?>
    <table>
        <tr>
            <th> ID</th>
            <th>Name</th>
            <th>Country code</th>
            <th>District</th>
            <th>Population</th>
        </tr>
        <?php foreach ($entries as $key=>$value){?>
            <tr>
                <td><?php echo $value->ID?></td>
                <td><?php echo $value->Name?></td>
                <td><?php echo $value->CountryCode ?></td>
                <td><?php echo $value->District ?></td>
                <td><?php echo $value->Population ?></td>
            </tr>
        <?php }?>
    </table>
</body>
</html>

这将帮助您理解分页的概念。

于 2014-07-31T11:23:33.377 回答