Php Sayfalama Yapmak
Php Sayfalama Yapmak
Merhaba arkadaşlar bu dersimizde sizlerle basit bir sayfalama örneği yapacağız.
Sayfalama yaparken öncelikle toplam veri sayımızı buluruz daha sonra belirttiğimiz miktarda o sayfada gösterilmesini sağlayıp o miktarın sınırına ulaştığında ise diger sayfaların görünmesini sağlarız.Böylelikle sayfalarımız sayfa1 sayfa 2 şeklinde yada yanlızca 1-2-3 şeklinde görünümü size kalmış tabi düzgün bir şekilde çalışacaktır.
Bu işlemi yaparken veritabanı kullanacağımız için öncelikle veritabanı baglantısı dersimizde göstermiş olduğum gibi bir veritabanına baglanıyoruz..
<?php
<?php
## Sunucu ve veritaban Bağlantısı Yapalım
$host= "localhost";
$user= "root";
$pass= "";
$vt= "yavuz_selim";
## 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.
<?php
<?php
## 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"));<?php
## 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.
<?php
<?php ## 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.
<?php
<?php
## 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>";
}?>
Sonraki konuda görüşmek üzere
Kanalıma abone olmayı unutmayın 🙂