CodeIgniter 4, verilerin sayfalandırılması için yüksek performanslı bir sayfalandırma sistemi sunar. Bu işlemi yapmak için aşağıdaki adımları izleyebilirsiniz:
1- Öncelikle, Pager
sınıfını yüklemek için aşağıdaki komutu kullanın:
use CodeIgniter\Pager\Pager;
2- Veritabanı sorgusu çalıştırarak, verileri çekeceğiniz bir modell oluşturun veya mevcut bir model dosyasını kullanın.
3- Pager
sınıfının makeLinks()
yöntemini kullanarak sayfalandırma bağlantıları oluşturun. Bu yöntem, verilerin sayfalandırılacağı URL'yi, veritabanı sorgusu sonucunun toplam satır sayısını ve her sayfada görüntülenecek satır sayısını alır. Örnek kullanım şöyle olabilir:
$pager = new Pager();
$pager->setPath('path/to/url'); // Sayfalandırma bağlantılarının oluşturulacağı URL
$pager->setTotal($totalRows); // Veritabanı sorgusu sonucu toplam satır sayısı
$pager->setPerPage(10); // Her sayfada görüntülenecek satır sayısı
$pagerLinks = $pager->makeLinks(); // Sayfalandırma bağlantılarını oluştur
4- Pager
sınıfının getOffset()
yöntemini kullanarak, veritabanı sorgusu için gerekli olan OFFSET değerini hesaplayın. Bu yöntem, veritabanı sorgusu için gerekli olan OFFSET değerini döndürür. Örnek kullanım şöyle olabilir:
$offset = $pager->getOffset();
5- Veritabanı sorgusu çalıştırırken, OFFSET değerini kullanarak verileri çekin. Örnek olarak, aşağıdaki gibi bir sorgu yazabilirsiniz:
$data = $this->db->table('table_name')
->limit($pager->getPerPage(), $offset)
->get()
->getResult();
6- Sayfalandırma bağlantılarını görüntülemek için, oluşturduğunuz bağlantıları görüntüleyebileceğiniz bir yerde, $pagerLinks
değişkenini kullanın. Örnek olarak, aşağıdaki gibi bir şablon kodu yazabilirsiniz:
<div class="pagination"> <?= $pagerLinks ?> </div>
Bu şekilde, kullanıcılar verilerin sayfalandırılmış haliyle görüntüleyebilecekler ve istedikleri sayfaya kolayca geçiş yapabilecekler.
Not: Bu işlem sadece sayfalandırma bağlantılarının oluşturulmasını ve görüntülenmesini kapsamaktadır. Verilerin sayfalandırılması için, veritabanı sorgusunu yukarıda açıklandığı gibi OFFSET ve LIMIT değerleri kullanarak çalıştırmalısınız.