PHP İle Sayfalama Yapımı

Bu dersimizde Php mySQL kullanarak basit bir sayfalama örneği yapacağız.

Merhaba arkadaşlar,

Bu dersimizde Php mySQL kullanarak basit bir sayfalama örneği yapacağız.

Dersin kaynak dosyalarını paylaşacağım. Daha rahat anlaşılır olması için derste tasarıma pek önem vermedim ki zaten mantığını anlayınca sizlerin çok daha güzel tasarımlar çıkarağına eminim.

İlk olarak veritabanı bağlantımızı yapalım.


<?php 

## Sunucu ve veritaban Bağlantısı Yapalım

    
$host    "localhost";

    
$user    "root";

    
$pass    "";

    
$vt    "bot";

## Sunucumuza Bağlanalım

    
$baglan mysql_connect($host,$user,$pass) or die(mysql_error());

## Veritabanı Seçelim

    
mysql_select_db($vt,$baglan) or die (mysql_Error());

## Türkçe Sorununu Çözelim

    
mysql_query("SET COLLATION_CONNECTION = ´utf8_turkish_ci´ ");

    
mysql_query("set names utf8"); ?>



Şimdi ise sayfamızda en aşağıda sayfa numaraları olacağı için ve hangi numaraya tıkladığımızda o sayfa geleceği için $_GET[] parametresi ile sayfa numarasını çekmemiz gerekmektedir. Ben $_GET["s"] parametresini kullanacağım.


## Sayfa Degiskeninin alalim.

    $sayfa        =    @$_GET["s"];

## Sayfa Boşsa yada sayı değilse,

    if(empty($sayfa) || !is_numeric($sayfa)){

        $sayfa    =    1;

    }

## Kaçar Tane Gözükecek

    $kacar        =    5;

## Kayıt Sayısı Aalım

    $ksayisi    =    mysql_num_rows(mysql_query("select id from makale"));

## Sayfa Sayısı Alalım

    $ssayisi    =    ceil($ksayisi/$kacar);

## Nereden Başlayacak

    $nereden    =    ($sayfa*$kacar)-$kacar;



Şimdi ise veritabanımızdan verilerimizi çekelim.
Ben veritabanından verileri çekerken " order by id DESC " komutunu kullandım yani eklenen en son verileri en üstte ilk sayfada gösterecektir.


## Verileri Çekelim

    $bul = mysql_query("select * from makale order by id DESC limit $nereden,$kacar");

        while($cek=mysql_fetch_array($bul)){

## Veritabanımdaki tablo sütunlarını direk değişken olarak çekmek istediğimden dolayı extract() fonksiyonunu kullandım.

        extract($cek);        

    echo  "<span><a href='#'>Başlık -> {$baslik}</a><hr></span>";

        }



En son olarak sayfaların sıralanmasını yapalım.


## Sayfaları Yazdıralım

for ($i=1; $i<=$ssayisi; $i++){

echo "<span style='text-align:center;margin:5px; border:1px dotted orange'><a href='sayfala.php?s={$i}'";

## hangi sayfada isek o linke aktif classını atadım. Fakat css olarak kodlamadım siz css olarak kodlarsanız hangi sayfada ise o sayfa numarasını daha belli edebilirsiniz.

    if($i == $sayfa){

        echo "class='aktif'";

    }

    echo ">{$i}</a></span>";

}

?>



Örneğimizin son hali aşağıdadır.


  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

selamün aleyküm hocam yaptığınız kodlar çalışıyo ama 2.sayfaya tıkladığımda index.php?istatistik=2 olarak anasayfaya gidiyor ne yapmam lazım yardım edin

Yukarı Git