在codeigniter中制作分页表

时间:2017-06-07 08:55:56

标签: php html codeigniter pagination

我创建了一个搜索功能,我希望在我的结果表中使用分页,我已经尝试但是没有正常工作。我希望节目只有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();
}

1 个答案:

答案 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'],我们必须计算该查询检索到的记录总数。

如果分页用于数据的静态记录,则由于我们对记录的总数有所了解,因此我们可以简单地(手动)添加总行数。