Php ile sayfalama

php.gifGenellikler çoğu yerde kullandığımız bir tekniktir.Ancak kafaları karıştırır.Önemli olan mantığını kavramak.Şimdi vereceğim örnekte veritabanından çekilen verileri 10′ar veri alarak sayfalıyacağım.

Kodlar:

<? //Önce limitimizi belirliyoruz.$sl=10; diyerek 10′ar veri çekmeyi sağlayacağız. if (!$_GET[”first”]||intval($_GET[”first”])<0) $_GET[”first”]=0;$sl=10;
 ?><?

$sql=”select * from tablo “;

$query=@mysql_query($sql);

$toplam=@mysql_num_rows($query);

$queryson=@mysql_query($sql.” limit “.$_GET[”first”].”,”.$sl.”");

while($row=mysql_fetch_assoc($queryson)){

//verileri dizdireceğimiz kod geliyor bu alana..

}

?>

<?php

//// ve işte sayfalama kodumuz.

if ($toplam > $sl){

if ($_GET[”first”] > 0){

?>

<a class=”sayfalama” href=”?first=<?=($_GET[” mce_href=”?first=<?=($_GET[”first”]-$sl” >geri</a>

<? }

$from = floor($_GET[”first”] / ($sl*10)) * $sl * 10;

$too = $from + $sl * 10;

for ($i = $from; $i < $too; $i += $sl) {

if ($i >= $toplam)

break;

if ($i == $_GET[”first”]){

?>

<font class=”sayfalama”>

<?=(floor($i/$sl)+1 .” “)?>

</font>

<? } else {

?>

<a class=”sayfalama” href=”?first=<?=$i” mce_href=”?first=<?=$i”>

<?=(floor($i/$sl)+1)?>

</a>

<?

}

}

if ($_GET[”first”] + $sl < $toplam){

?>

<a class=”sayfalama” href=”?first=<?=($_GET[” mce_href=”?first=<?=($_GET[”first”]+$sl)?>ileri</a>

<? }

}

?>

Ve böylelikler sayfamızı istediğimiz kriterlere göre sayfaladık. ;) Kolay gelsin :)

Düşüncelerinizi Esirgemeyin !!