我创建了一个搜索功能,我希望在我的结果表中使用分页,我已经尝试但是没有正常工作。我希望节目只有10排,但是当我尝试不起作用时。
我在https://codeigniter.com/中读到了如何分页,但我仍然不明白如何在我的代码中使用它:
$config['base_url'] = '';
$config['total_rows'] = ;
这是我的代码:
控制器:
function __construct()
{
parent::__construct($securePage=false);
$this->load->helper('form');
$this->load->model('tracking_model');
}
function index()
{
$this->load->view('tracking_view');
$this->load->library('pagination');
}
function searchTiket(){
// Retrieve the posted search term.
$noTicket = $this->input->post('trackTicket');
$monthTicket = $this->input->post('trackMonth');
$yearTicket = $this->input->post('trackYear');
// Use a model to retrieve the results.
//pengaturan pagination
$config['base_url'] = base_url().'';
$config['total_rows'] = '200';
$config['per_page'] = '5';
//inisialisasi config
$this->pagination->initialize($config);
//buat pagination
$data['page'] = $this->pagination->create_links();
// Use a model to retrieve the results.
$data["result"]= $this->tracking_model->searchTiket($config['per_page'],$noTicket,$monthTicket,$yearTicket);
// Pass the results to the view.
$this->load->view('tracking/ticket_list_view',$data);
}
视图:
<div>
<center>
<?php if(empty($result)){
echo '<h2>Data not found!</h2>';
}else{
?>
<table border='1' Width='1000'>
<tr bgcolor= #ff9900>
<th style="color: white"> No. Tiket </th>
<th style="color: white"> Kategori </th>
<th style="color: white"> Status </th>
<th style="color: white"> Tanggal dibuat </th>
<th style="color: white"> Tanggal masuk ke IT </th>
<th style="color: white"> Estimasi Selesai </th>
<th style="color: white"> Tindakan </th>
</tr>
<?php
foreach($result as $row){?>
<?php
if ($row->Status =="OPEN") {
$image = '<img alt="Brand" src="assets/img/remind.png" width="25" height="25" /> Reminder';
} elseif ($row->Status =="Masih menunggu approval Atasan" || $row->Status =="Masih menunggu approval PIC HO") {
$image = '<img alt="Brand" src="assets/img/fast_forward.png" width="25" height="25" /> Percepat';
} elseif($row->Status =="Sudah Selesai"){
$image = '<img alt="Brand" src="assets/img/Reopen.png" width="25" height="25" /> Reopen';
} else {
$image ="";
}
?>
<tbody>
<tr>
<!-- <td bgcolor= #fff><?php echo $row->ticket_id; ?></td> -->
<td><a id="btn_preview" action="<?php echo base_url() ?>tracking/showDetail?ticket_id=<?php echo $row->ticket_id; ?>"><?php echo $row->ticket_id; ?></a></td>
<td bgcolor= #fff><?php echo $row->name; ?></td>
<td bgcolor= #fff><?php echo $row->Status; ?></td>
<td bgcolor= #fff><?php echo $row->created_time; ?></td>
<td bgcolor= #fff><?php echo $row->start_IT; ?></td>
<td bgcolor= #fff><?php echo $row->estimasi_selesai; ?></td>
<td bgcolor= #fff><?php echo $image; ?></td>
</tr>
</tbody>
<?php }?>
</table>
<div class="halaman">Halaman : <?php echo $page;?></div>
</center>
</div>
<?php
}
?>
型号:
function searchSpv()
{
$findTicket=$this->db->query("my query");
return $findTicket->result();
}
答案 0 :(得分:0)
对于$config['base_url']
,您必须添加用于加载具有分页功能的视图页面的网址。
例如,如果www.example.com/index.php/controller_name/function_name
是分页的URL,则您在其中定义了分页并在控制器function_name()
的函数Controller_name
中将具有分页的视图页面加载, ,
$config['base_url'] = 'www.example.com/index.php/controller_name/function_name';
或
$config['base_url'] = site_url().'/controller_name/function_name';
然后,下一个是$config['total_rows']
。这是包括所有页面的行或记录的总数。
假设我们必须在其上实现分页的1000行数据。无论页面数如何,无论当前的活动页面如何,这1000行都不会改变。您可以在每页上显示10条记录或50条记录或100条记录或其他要显示的记录,但是该记录总数保持不变。
那是
$config['total_rows']=1000;
在大多数情况下,这将是动态数据。因此,如果我们运行查询以从数据库中获取记录;为了获取$config['total_rows']
,我们必须计算该查询检索到的记录总数。
如果分页用于数据的静态记录,则由于我们对记录的总数有所了解,因此我们可以简单地(手动)添加总行数。