Sayfalamada 2 aşama vardır:
1) Tablomuzdaki içerik sayısı, bir sayfada gösterilmek istenen içerik sayısına bölünür, küsaratlıysa üst sayıya yuvarlanır (ceil ile). Kullanıcı sayfalar arasında geçiş yapabilsin diye sayfa sayısı kadar, numaralandırılmış linkler verilir. (for döngüsüyle)
2) Sayfalar arasında link ile geçiş yapabiliyoruz tamam ama içinde bulunulan sayfaya göre içerik göstermemiz gerekiyor. Bunun için de içeriği listelettiğimiz mysql sorgusunda ufak bir eklemeyle bulunulan sayfaya göre içerik göstertebiliyoruz.
Az laf çok kod di mi :)
//şimdi içerik sayısını, bir seferde gösterilmek istenen içerik sayısı, sayfa sayısını vs. bilgileri elde edeceğiz
//senin düzenlemen gereken $kac_tane= ile başlayan satırdaki sorgunun tablo adı ve $gosterim=10 yazan yere de bir sayfada göstermek istediğin içerik sayısıdır.$kac_tane=mysql_num_rows(mysql_query("SELECT * FROM tablo_adi"));
$sayfa=$_GET['sayfa_no'];$gosterim=10;
$sayfa_sayisi=ceil($kac_tane/$gosterim);
if($sayfa>$sayfa_sayisi || $sayfa<1 || !is_numeric($sayfa))
{$sayfa=1;}
$son=($sayfa-1)*$gosterim;
//sayfa sayısı kadar numaralandırılmış link üretiyoruzfor($i=1;$i<$sayfa_sayisi;$i++){
if($sayfa!=$i){
echo "
$i";
}else{
echo "
$i";
}//eğer bulunulan sayfa bastırılacak numarayla aynıysa kontrolü sonu
}//döngü sonu
?>
Buraya kadar 1. aşamayı yaptık. Şimdi sırada 2. aşama olan bulunulan sayfaya göre içerik göstermek var. Bunu da içerik çektiğimiz mysql sorgusunun sonuna ufak bir eklemeyle lafı uzatmadan hallediyoruz.
$yazilar=mysql_query("SELECT * FROM yazilar");
//yukarıdaki şekilde bir sorgumuz var diyelim. Bunun sonuna LIMIT $son,$gosterim şeklinde bir ekleme yapacağız ve işimiz tamam olacak$yazilar=mysql_query("SELECT * FROM yazilar LIMIT $son,$gosterim");
?>
Kodlardan dolayı yazı uzun görünüyor ama asıl mantık sayfanın en başında belirttiğim 2 aşamadır. Tüm bunlar o 2 aşamanın gerçekleşmiş hâlidir. Umarım sorununu çözer kodlarım.