//GET modülünden sayfa numarasi al
$sayfa = @$_GET["sayfa"];
//bir sayfada listelenecek kayit sayisi
$sayfalik_kayit = 10;
//sayfa belirlenmemisse, sayfa=1 yap
if( empty($sayfa) ){ $sayfa=1; }
//limit baslangici
$baslangic = ($sayfa*$sayfalik_kayit)-$sayfalik_kayit;
//bütün kayitlari sorguluyoruz
$genel_sorgu = mysql_query("select * from sozluk");
//toplam kaydi hesapliyoruz.
$toplam_kayit = mysql_num_rows($genel_sorgu);
//toplam sayfayi hesapliyoruz.
$toplam_sayfa = ceil($toplam_kayit/$sayfalik_kayit); //ceil() İfadesi Çıkacak Olan Sonucu Yukarı Yuvarlama yapar
Örnek toplam_kayit/sayfalik_kayit Bize kac sayfa olcagını solicek ya bunun sonucu 2.6 ıse ceil ile biz onu 3 yaparız anladık umarım .Devam edıyoruz
$sql = mysql_query("Select * from TABLO_ADIN limit $baslangic,".($sayfa * $sayfalik_kayit)";
// İşte Burda Farkettiğimiz bi olay ne limit $baslangic,".($sayfa * $sayfalik_kayit) Bu ifade bu tablodan cektıgın verileri limitliyor sayfa basına kac dedıysek o kadar lıstelememızı saglıyor .
Şimdi De Sayfa 1 , Sayfa 2 , dıye lıstelememız lazım 1 e basınca sayfa 1 e gelmelı 2 ye basınca 2 ye onuda Select Secmelı bır menu ıle yapayım oda sole kucuk bı for dongusu ile tamamdır For dongusu ile o selectli ıfadenın hepsını aynı anda yazıyorum acıklanacak bı tarafı yok eger anlamıorsunu for dongusunu bılmıyorsunuz demektır ..
<?PHP
echo "<select onchange="location='SAYFALAMA YAPTIGIN SAYFANIN ADRESİ.php?sayfa='+this.value">n";
for($i=0;$i<$toplam_sayfa;$i++){
$sayfa_no = $i+1;
$sec = ($sayfa_no==$sayfa) ? " selected" : "";
echo "<option value="$sayfa_no" $sec>Sayfa $sayfa_no</option>n";
}
echo "</select>nn";
?>

Leave a Reply