Merhaba arkadaşlar, güzel bir sayfalama örneği buldum.
Ben bunu kategoriler kısmına uyarlamak istiyorum ama bir türlü yapamadım.
Yüklü miktarda bilgi çekeceğim için bu sayfalama işimi görecek.
Kodlar şu şekilde
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<title>Veritabanı Sayfala</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9"> 
<style type="text/css"> 
body{ 
margin:0; 
padding:0; 
font-size:11px; 
font-family:Tahoma, Verdana, Arial, Helvetica, sans-serif; 
} 
table{ 
border:1px solid #999; 
margin-top:20px; 
} 
td{ 
padding:3px; 
} 
.baslik{ 
font-weight:bold; 
text-align:center; 
border:1px solid #999; 
background-color:#900; 
color:#fff; 
padding:5px; 
} 
.sol, .sol2{ 
text-align:center; 
font-weight:bold; 
} 
.orta, .orta2{ 
border-left:1px solid #999; 
} 
.sag, .sag2{ 
border-right:1px solid #999; 
border-left:1px solid #999; 
} 
.sol, .orta, .sag{ 
background-color:#f4f4f4; 
border-bottom:1px solid #999; 
} 
.sol2, .orta2, .sag2{ 
background-color:#ddd; 
border-bottom:1px solid #999; 
} 
.div_sayfa{ 
font-weight:bold; 
color:#009; 
margin:10px; 
padding:10px; 
text-align:center; 
} 
.div_sayfa a{ 
color:#06c; 
font-weight:bold; 
padding:3px; 
} 
.div_sayfa a:hover{ 
color:#060; 
} 
.self{ 
color:#333; 
font-weight:bold; 
background-color:#ccc; 
padding:3px; 
} 
.s_yok{ 
color:#666; 
font-style:italic; 
padding:10px; 
text-align:center; 
} 
</style> 
</head> 
<body> 
<?php 
//Veritabanı bağlantı ayarları 
$host= "localhost"; 
$database = ""; //Veritabanı adı 
$username = ""; //Kullanıcı adı 
$password = ""; //Şifre 
$sql = mysql_connect($host, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR);  
mysql_select_db($database, $sql); 

$gelen_sayfa = (isset($_GET['sayfa']) && $_GET['sayfa'] !='' ) ? intval($_GET['sayfa']) : 1; 

//Bağlanılacak Tablo 
$tablo = 'tablo'; 

//Sayafalamayı yapan dosyanın adı 
$link = 'sayfala.php'; 

//Sayfada kaç kayıt görünecek 
$limit= 20; 

//Kaç sayfa öncesi ve sonrası görünecek 
$s_s = 10; 

/*------------------------------------ 
Alan Başlıklarını ve $sonuc['alan1']  
kısımlarını kendinize göre değiştirin 
-------------------------------------*/ 
$s_sor = mysql_query("select count(id) from $tablo") or trigger_error(mysql_error(),E_USER_ERROR); 
$satir = mysql_result($s_sor,0); 
mysql_free_result($s_sor); 
echo '<table width="80%" align="center" border="0" cellspacing="0" cellpadding="0"> 
            <tr> 
                <td class="baslik">No</td> 
                <td class="baslik">Alan 1 Başlık</td> 
                <td class="baslik">Alan 2 Başlık</td> 
                <td class="baslik">Alan 3 Başlık</td> 
                <td class="baslik">Alan 4 Başlık</td> 
            </tr>'; 
if($satir >0){//sonuç varsa 
    $baslama = ($gelen_sayfa > 1) ? (($gelen_sayfa -1) * $limit) : 0 ; 
    $sayfa_kac = $satir/$limit; 
    $sayfa_sayisi = ($satir % $limit != 0) ? intval($sayfa_kac)+1 : intval($sayfa_kac); 
    $basla=( $satir >= $baslama ) ? $baslama : 0 ; 
    unset( $sayfa_kac, $baslama ); 
    $sorgu = 'select * from '.$tablo.' order by id asc limit '.$basla.' , '.$limit; 
    $sorgula = mysql_query($sorgu) or trigger_error(mysql_error(),E_USER_ERROR);  
    $i=1; 
        $style=''; 
        while($sonuc=mysql_fetch_array($sorgula)){ 
            echo ' 
            <tr> 
                <td class="sol'.$style.'">'.$i.'</td> 
                <td class="orta'.$style.'">'.$sonuc['alan1'].'</td> 
                <td class="orta'.$style.'">'.$sonuc['alan2'].'</td> 
                <td class="orta'.$style.'">'.$sonuc['alan3'].'</td> 
                <td class="orta'.$style.'">'.$sonuc['alan4'].'</td>'; 
                $style = ($style=='') ? '2' : ''; 
            $i++; 
            }//while son 
        mysql_free_result($sorgula);//hafızayı boşalt 
        $hangi_sayfa= ($gelen_sayfa > 0)? $gelen_sayfa : 1 ; 
        echo ' 
        </table> 
        <div class="div_sayfa"> 
            Toplam '.$sayfa_sayisi.' Sayfadan '.$hangi_sayfa.'. Sayfa<br /><br />';     
            $alt= ($gelen_sayfa - $s_s); 
            if($sayfa_sayisi <= $s_s || $gelen_sayfa <= $s_s ) {$alt=1;}  
            $ust= (($gelen_sayfa + $s_s)< $sayfa_sayisi ) ? ($gelen_sayfa + $s_s) : ($sayfa_sayisi);     
            echo ($gelen_sayfa > 1 )? '<a href="'.$link.'?sayfa=1" title="İlk Sayfa"><strong>&laquo; </strong></a><a href="'.$link.'?sayfa='.($gelen_sayfa -1).'" title="Önceki Sayfa"><strong>Geri</strong></a>':' '; 
            for($i=$alt; $i<=$ust ;$i++){         
                echo ($i != $gelen_sayfa ) ? '<a title="'.$i.'. Sayfa" href="'.$link.'?sayfa='.$i.'">'.$i.'</a>' : '<span class="self">'.$i.'</span>'; 
                } 
            echo ($gelen_sayfa < $sayfa_sayisi)? '<a href="'.$link.'?sayfa='.($gelen_sayfa +1).'" title="Sonraki Sayfa"><strong>İleri</strong></a><a href="'.$link.'?sayfa='.$sayfa_sayisi.'" title="Son Sayfa"><strong> &raquo;</strong></a>' :''; 
            echo '</div>'; 
} 
else{ 
        echo '<tr><td colspan="5" class="s_yok">Hiç Bir Sonuç Bulunamadı</td></tr></table>'; 
} 

mysql_close($sql); 
?> 
</body> 
</html>
kat.php adında bir dosyaya yerleştireceğim.
db de dosyaların kategori idlerin olduğu tablo adı cat_id buna göre kategoriden nasıl bilgi çekerim?