22 Kasım 2012 Perşembe

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.

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

}

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>[1]</span>";
else echo "<a href="?git=1">[1]</a>";
// "..." veya direkt 2
if($git-$x &gt; 2) {
echo "...";
$i = $git-$x;
} else {
$i = 2;
}
// +/- $x sayfalari yazdir
for($i; $i[$i]";
else echo "<a href="?git=$i">[$i]</a>";
if($i==$lastP) break;
}
// "..." veya son sayfa
if($git+$x &lt; $lastP-1) {
echo "...";
echo "<a href="?git=$lastP">[$lastP]</a>";
} elseif($git+$x == $lastP-1) {
echo "<a href="?git=$lastP">[$lastP]</a>";
}

if($git &lt; $lastP){

$sonraki = $git+1;

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

}

endif;

?&gt;[/php]
Ç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.

Kaynak:http://www.guraysuerdem.com/php-ile-sayfalama-yapimi/

Hiç yorum yok:

Yorum Gönder