[英]Pagination with CI
我正在嘗試對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>
我是新手,請幫忙嗎? 提前致謝
在ci中進行分頁可以方便地調用帶參數的函數(根據per_page編號。)您必須制作一個帶參數的函數(其URL在基數中給出),該函數將該數字發送給模型並從數據庫中獲取行。 。 控制者
/**
* @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>
這將幫助您了解分頁的概念。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.