Rehber PHP ile Sayfalama Sistemi Yapımı

Merhaba 😇

Cumartesi açtığım ankette 2. olarak sayfalama sistemi istenmiş.


Bugün size PHP ile Sayfalama Sistemi nasıl yapıldığını göstereceğim.

Öncelikle Sayfalama Nedir?

Sayfalama, çok fazla veriniz varsa ve bu verilerin hepsini getirmek istemiyorsanız verileri belli başlı şekillerde getirmek için kullanılır.

Örnek: Her sayfa başına 10 adet veri miktarı gibi.

Hadi başlayalım;

Not: Site güvenlik duvarı izin vermediği için PHP kodlarını ekran görüntüsü olarak paylaşıyorum. Ancak en alt kısımda projenin tüm dosyaları mevcuttur.

Ben daha önceden bir veri tabanı oluşturdum ve içeriğine bazı veriler ekledim.

Not:
Mutlaka veri tabanı oluştururken dilini utf8_general_ci yapınız.

1678764541529.png

1678764531998.png


Bu rehberde MySQLi kullanmayacağım. Onun yerine PDO kullanacağım.

Dosya yapımız 2 adet dosyadan oluşmaktadır;
  • Ana Klasör
    • index.php
    • main.css

Öncelikle Index.php sayfamızı yazıyoruz.

1678764376267.png

1678764392540.png

1678764409735.png


Ardından Main.css dosyamızı yazıyoruz;

CSS:
@import url('https://fonts.googleapis.com/css2?family=Alata&display=swap');

*{
    font-family: 'Alata', sans-serif;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-decoration: none;
}

body{
    justify-content: center;
    align-items: center;
    display: flex;
    flex-direction: column;
}

.datas{
    justify-content: start;
    align-items: center;
    display: flex;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #b1b1b1;
    background-color: #e0e0e0;
    width: 1000px;
    margin: 10px 0;
    height: auto;
    border-radius: 10px;
}

.data_rotate_buttons_container{
    width: 1000px;
    height: auto;
    background-color: #e0e0e0;
    border: 1px solid #b1b1b1;
    padding: 20px;
    border-radius: 10px;
    justify-content: center;
    align-items: center;
    display: flex;
    flex-direction: column;
}

.data_rotate_header_text{
    margin: 10px 0;
}
 
.deactive{
    display: inline-block;
    width: auto;
    margin: 0 3px;
    height: 30px;
    line-height: 25px;
    padding: 0 5px;
    border: 1px solid #b1b1b1;
    border-radius: 5px;
}

.deactive > a{
    color: rgb(255, 0, 0);
}

.active{
    display: inline-block;
    width: auto;
    margin: 0 3px;
    height: 30px;
    line-height: 25px;
    padding: 0 5px;
    border: 1px solid #b1b1b1;
    border-radius: 5px;
    background-color: #c0c0c0;
    color: blue;
}

Gördüğünüz üzere verileri page parametresi ile taşıyoruz. Burada olan sayı sayfa numarasını belirtir.

1678764654020.png


Varsayılan hali;

1678764694020.png


2. sayfa hali;

1678764703527.png


Gördüğünüz üzere, hem sayfa numaralarını, hem geri / ileri, hem de en başa veya en sona gitme tuşları var. Bu şekilde güzel bir sayfalama yapabilirsiniz.

Projenin tüm dosyaları (veri tabanı dahil):

Buraya kadar okuduysanız teşekkür ederim.

Bu rehberden sonra PHP ile Tıklama Ve Hit Sayısı Takip Sistemi rehberi gelecek.
Yazılım rehberlerimin devamı gelecek.


İyi çalışmalar, kolay gelsin 😎

Tüm yazdığım rehberler içindeki dosyalar tek bir link olarak birleştirildi arkadaşlar. İstediğiniz dosyayı bu link üzerinden indirebilirsiniz:

 
Son düzenleme:

Geri
Yukarı