Php ile Vbulletin Tarzı Sayfalama yapma..!

Son güncelleme: 12.07.2008 18:56


  • Vebulletin tarzı uzantısı ..../sayfa=1 ,.... /sayfa=2... Gibi Biten listeme yapmanın mantıgını anlatmaya calıscam . Yazı Tamamen bana aittir.
    İlk Once Şu Şekilde Bir Mantıkla İşe Başlıyoruz .
    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 ..

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

#12.07.2008 18:56 0 0 0