Welcome Guest, Not a member yet? Register   Sign In
Using Pagination Library
#6

(This post was last modified: 01-05-2022, 12:44 PM by BilltheCat. Edit Reason: typo )

Here's a simple example controller I use for paging through my logs table.  Hopefully, it will help you get started.

PHP Code:
<?php

namespace App\Controllers\Admin;
use 
App\Controllers\BaseController;
use 
App\Models\LoggingModel;
class 
Logs extends BaseController
{

    public function index()
    {
        $this->data['meta']['title'] = 'Logs';
        $model = new LoggingModel();
        $request service('request');
        $searchData $request->getGet();


        $search = [];
        $search['search'] = '';
        $search['column'] = '';
        $search['perpage'] = 20;
        if (isset($searchData)) {
            if (isset($searchData['search'])) {
                $search['search'] = trim($searchData['search']);
            }
            if (isset($searchData['perpage'])) {
                $search['perpage'] = trim($searchData['perpage']);
            }
        }

        $search['column'] = 'date';
        if (isset($searchData['column'])) {
            switch ($searchData['column']) {
                case 'id':
                    $search['column'] = 'id';
                    break;
                case 'ip':
                    $search['column'] = 'ip';
                    break;
                    case 'host_name':
                        $search['column'] = 'host_name';
                        break;
                    case 'user_agent':
                        $search['column'] = 'user_agent';
                        break;
                        case 'referer':
                            $search['column'] = 'http_referer';
                            break;
                case 'date':
                default:
                    $search['column'] = 'date';
                    break;
            }
        }
        $search['order'] = (isset($searchData['order']) && $searchData['order'] === strtolower('asc')) ? 'asc' 'desc';

        if ($search == '') {
            $paginateData $model->paginate($search['perpage']);
        } else {
            $paginateData $model->select('*')
                ->orLike('ip'$search['search'])
                ->orLike('host_name'$search['search'])
                ->orLike('date'$search['search'])
                ->orderBy($search['column'], $search['order'])
                ->paginate($search['perpage']);
        }

        $this->data['data'] = $paginateData;
        $this->data['pager'] = $model->pager;
        $this->data['search'] = $search;

        echo view('Admin/Logs/index'$this->data);
    }


Reply


Messages In This Thread
Using Pagination Library - by cifan - 01-03-2022, 11:07 AM
RE: Using Pagination Library - by cifan - 01-04-2022, 12:35 PM
RE: Using Pagination Library - by iRedds - 01-04-2022, 05:29 PM
RE: Using Pagination Library - by BilltheCat - 01-05-2022, 12:41 PM



Theme © iAndrew 2016 - Forum software by © MyBB