Toplam 322 konuya 1944 yorum yazıldı.
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
## 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

## 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.




<?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


## 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>";

}


?>



Bir sonraki derste görüşmek üzere yapamayan olur ise yorum ile bildirsin :)




Etiketler

PhpSayfalamaYapmak

Yorumlar

Buraya henüz hiç yorum yazılmamış...

Yorum Yaz