Toplam 1 adet sonuctan sayfa basi 1 ile 1 arasi kadar sonuc gösteriliyor
-
15.Ekim.2014, 11:45 #1Pro Üye
- Üyelik tarihi
- 06.Nisan.2014
- Mesajlar
- 304
Php Sayfalama Mantığı Hakkında
Php Sayfalama Mantığı
Php ile yazmış olduğunuz sistemlerin birçoğunda içeriklerinizi sayfalar halinde göstermemnz gerekebilir.Veya admin paneli tasarimlarinda eklenmiş içerikleri sayfalamamiz gerekebilir.Sayfalamanın amaçı hem sayfa çubuğunun fazlaca aşşağıya kaymasını önleyerek kullanıcıya daha iyi bir web deneyimi yaşatıp sayfalar halinde içeriği gezinmesini sağlamak hemde birçok içeriğimiz varsa hepsinin aynı sayfada listelenmesinin explorer i kilitlemesi gibi durumlarin önüne geçmektir.
Olaya bir başka yönü ile de bakacak olursak içerikli sayfa sayımızı dolayısı ile index sayımızı da sayfalama ile artırmış oluruz.
Sayfalama yapabilmek için öncelikle ilgili içerik sayısının ve her bir sayfada bulunmasını istediğimiz içerik sayısının bilinmesi gerekir.
İlgili içerik sayısını mysql sorgusu aracılığı ile istediğimiz şartlara uyan içeriği saydırarak öğrenebiliriz, her sayfadaki içerik sayısı ise bize kalmış bir durumdur bir değişkene sabit şekilde tanımlayabiliriz.
$count = mysql_num_rows(mysql_query(“Select * from icerik”)); // içerik sayısı alındı
$perpage = 24; // her sayfadaki içerik sayısı girildi
$page = !empty($_GET["page"]) ? intval($_GET["page"]) : 1; //get metodu ile açılmak istenen sayfa alındı
$sayfasayisi=ceil($count/$perpage); //toplam içerik sayısı sayfa başına içeriğe bölünüp sayfa sayısı bulundu
if($page>$sayfasayisi) // eğer get ile aldığımız sayfa sayısı varolan sayfa sayısından büyükse (güvenlik önlemi)
{
header(“Location: ../404.php”); // 404 sayfasına yönlendirilme yapıldı
exit(); // curl ile sayfa içeriği görüntülenmesinin önüne geçilmek amacıyla exit komutu kullanıldı
}
üstteki kod yapısını sayfamız kodlamasının en üst alanında php tagları arasına yerleştirerek hem ilgili sayfalama hesaplarını yapmış olup hemde get ile alınan sayfa sayısı bizim mevcut sayfa sayımızdan yük++++e diğer kodlar çalıştırılmadan müdahalede bulunup 404 sayfasına yönlendirme sağlamış oluruz.
Sayfalama görünümünün yazdırılması işlemi aşşağıdaki gibi yapılabilir.
<?php
if($count > $perpage) :
$x = 5; // aktif sayfadan önceki/sonraki sayfa gösterim sayısı
$sonsayfa = ceil($count/$perpage); // son sayfanın hesaplanması
// sayfa 1’i yazdır
if($page==1)
echo ” <span class=\”aktifolan\”>1</span>”;
else
echo ” <a href=\”yeni-1\”>1</a>”;
// “…” veya direkt 2
if($page-$x > 2) {
echo “<span>………</span>”;
$i = $page-$x;
} else {
$i = 2;
}
// +/- $x sayfaları yazdır
for($i; $i<=$page+$x; $i++) {
if($i==$page) echo ” <span class=\”aktifolan\”>[$i]</span>”;
else echo ” <a href=\”yeni-“.$i.”\”>$i</a>”;
if($i==$sonsayfa) break;
}
// “…” veya son sayfa
if($page+$x < $sonsayfa-1) {
echo “<span>………</span>”;
echo ” <a href=\”yeni-“.$sonsayfa.”\”>$sonsayfa</a>”;
} elseif($page+$x == $sonsayfa-1) {
echo ” <a href=\”yeni-“.$sonsayfa.”\”>$sonsayfa</a>”;
}
endif;
?>
sayfa sıralamasının yapılmasını istediginiz alana üstteki kodumuzu yapıştırın.Htacess ile sayfalama yapıldığı varsayılarak kodlardaki url yapısı sef url lere göre yapılandırılmıştır.htaccess ile sef yapıyı nasıl kuracağınızı bloğumuzda arama yaparak bulabilirsiniz.
Konu Bilgileri
Bu Konuya Gözatan Kullanıcılar
Şu anda 1 kullanıcı bu konuyu görüntülüyor. (0 kayıtlı ve 1 misafir)
Benzer Konular
-
Lua Hakkında
Konu Sahibi optimusprime Forum Diğer DillerCevap: 0Son Mesaj : 26.Aralık.2014, 11:49 -
Lua Hakkında
Konu Sahibi optimusprime Forum Diğer DillerCevap: 0Son Mesaj : 26.Aralık.2014, 11:44 -
XenForo Hakkında
Konu Sahibi optimusprime Forum XenForoCevap: 0Son Mesaj : 24.Kasım.2014, 08:42 -
bios ayarlarındaki ide - ahcı mantığı
Konu Sahibi deniz Forum Manjaro LinuxCevap: 0Son Mesaj : 20.Eylül.2014, 23:44 -
Knox hakkında
Konu Sahibi WeBMasteR Forum Mobil YazılımlarCevap: 0Son Mesaj : 28.Mayıs.2014, 22:50
Shopsocks5 - Service Socks5 Cheap...
08.Mayıs.2024, 14:39 in Güvenlik