PHP ile Sayfalama Yapımı

PHP ile sayfalama yapımını mantık olarak LIMIT ile satır sayısını alıp onu sayfalara bölmek anlamına getirebiliriz.
İletişim sayfasından bana ulaşarak bu dersi sabırla bekleyen sayın Süleyman Vural’a gösterdiği sabrından dolayı da teşekkür etmek isterim.

Birçok yoğun projeden fazla ders ekleme imkanım olmadı. Fakat yine de pek fazla detaya girmeden öncelikle örnek olarak yaptığım kodları paylaşacağım. Kodlar kütüphanemden örneğe çevirdiğim kodlardır.  SQL dosyasıyla birlikte çalışma dosyasını indirip localhostta deneme yanılma yöntemini kullanarak çalışmalar da yapabilirsiniz.

İleri ve geri sayfaları mantık olarak +1 ve -1 yapmaktan kaynaklanıyor. Yani İlerisi için şu anki sayfadan +1 arttırıyoruz ve gerisi içinde -1 azaltıyoruz. Kodlara bakarak daha iyi anlayabilirsiniz.

<?php

include ("ayar.php");

$limit = 5;

$git = @$_GET["git"];

if(empty($git) or !is_numeric($git)) {

$git = 1;

}

 $count		 = mysql_num_rows(mysql_query("SELECT id FROM sayfa"));
 $toplamsayfa	 = ceil($count / $limit);
 $baslangic	 = ($git-1)*$limit;

$sorgu = "SELECT * FROM sayfa ORDER BY id ASC LIMIT $baslangic,$limit";

$yazdir_sorgu = mysql_query( $sorgu, $mysqlbaglantisi) or die(mysql_error() );

while ($yazdir = mysql_fetch_array($yazdir_sorgu)){

echo $yazdir['title'];
echo "<br>";

}

if($count > $limit) :
 $x = 2; // akrif sayfadan önceki/sonraki sayfa gösterim sayisi
 $lastP = ceil($count/$limit);

 if($git > 1){

 $onceki = $git-1;

 echo "<a href=\"?git=$onceki\">« Önceki Sayfa </a>";

 }

 // sayfa 1'i yazdir
 if($git==1) echo "<span class=\"sayfa\">[1]</span>";
 else echo "<a href=\"?git=1\">[1]</a>";
 // "..." veya direkt 2
 if($git-$x > 2) {
 echo "...";
 $i = $git-$x;
 } else {
 $i = 2;
 }
 // +/- $x sayfalari yazdir
 for($i; $i<=$git+$x; $i++) {
 if($i==$git) echo "<span class=\"sayfa\">[$i]</span>";
 else echo "<a href=\"?git=$i\">[$i]</a>";
 if($i==$lastP) break;
 }
 // "..." veya son sayfa
 if($git+$x < $lastP-1) {
 echo "...";
 echo "<a href=\"?git=$lastP\">[$lastP]</a>";
 } elseif($git+$x == $lastP-1) {
 echo "<a href=\"?git=$lastP\">[$lastP]</a>";
 }

 if($git < $lastP){

 $sonraki = $git+1;

 echo "<a href=\"?git=$sonraki\"> Sonraki Sayfa » </a>";

 }

endif;

?>

Çalışma dosyasını buradan indirip ayar.php dosyasından kendi mysql bağlantı ayarlarını yaparak sql dosyasınıda import ederek örneği inceleyebilirsiniz.
Kavradıktan sonra kendi sayfalama sistemlerinizide geliştirirsiniz.

PHP’nin Kurucusu ve Zend’in Sahibi Türkiye’ye Geliyor

PHP’nin kurucusu ve Zend’in sahibi Zeev Suraski 24 Ocak 2009’da Taksim , Nippon Hotelde Türkiye’deki PHP geliştiricileriyle buluşmaya hazırlanıyor.Ayrıca onun kadar değerli bir isim olan Derick Rethans‘ta etkinlikte yerini alacak.Ayrıca bunların yanında Cumhur Önat , Muharrem Taç ve Ceviz.net’in geliştiricilerinden Tuncay Bahadır’da etkinlikte konuşmacılar arasında yer alıyor.

Okumaya Devam Et

PHP ile Metin Belgesindeki Satır Sayısını Öğrenmek

Metin belgesinde bulunan satırları tek tek saymak biraz yorucu olsa gerek. Bu çok kısa kod sayesinde bu yoruculuğu engellemiş oluyoruz. Tabi ben başka bir yöntemde biliyorum.
Örneğin; metin dosyasının içindekileri editör ile açarak kaç satır olduğunu sol taraftaki satır sayacı ile öğrenmek.
Ama bizim amacımız PHP ile öğrenmek olduğu için önemli olan bu komutu uygulamanız.

Okumaya Devam Et

Güvenli Bir Üyelik Sistemi İçin Temel İpuçları

Eğer kullanıcıların üye olarak bilgilerini paylaştığı bir ağ tabanlı sistem geliştiriyorsanız (Session,Cookie) ve bu bilgileri bir veritabanında saklıyorsanız; bu bilgiler kullanıcı ve sunucu arasında olduğundan dolayı araya 3. bir kişinin girmesine izin vermemek için kendinizden emin olana dek tüm güvenlik risklerini gözden geçirmeniz gereklidir.

Okumaya Devam Et

PHP ile Rasgele Banner Gösterimi

Sitenizde rasgele bannerleri görüntülemek için en basit yol resimlere birer numara vererek rand() fonksiyonu ile kendi aralarında döndürmektir. Bunu ister bannerinizde ister reklamlarınızda kullanabilirsiniz.

Her banner artışında rand() fonksiyonunun parametresinide o sayıya göre ayarlamalısınız. Sayfa her yenilendiğinde rasgele banner gösterilecektir. Biz şu an için üç tane banner gösterimi yapacağız.

Okumaya Devam Et