我正在尝试使用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>
我是新来的,请帮忙吗?提前致谢
答案 0 :(得分:0)
ci中的分页产生了使用参数调用函数的工具(根据per_page,没有。) 您必须使用一个参数创建一个函数(其url在base中给出),该参数将此数字发送到模型并从数据库中获取Rows。 控制器
/**
* @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>
这将有助于您理解分页的概念。