• 19-06-2015, 07:12:54
    #1
    Arkadaşlar aşağıdaki kodla sayfalama yapıyorum ama 1 2 3 4 gibi cıkıyor ben Geri 1 2 3 .. 10 İleri şeklinde istiyorum acaba nasıl degistirmem lazım bu kodu yardımcı olursanız sevinirim.
    if(isset($_GET["sayfa"])){
    $sayfa=$_GET["sayfa"];
    }
    else{
    $sayfa=1;
    $sorgu=mysql_query("select * from makale");arat
    $limit=4;
    $kayitSayisi=mysql_num_rows($sorgu);
    $sayfaSayisi=ceil($kayitSayisi/$limit);
    $baslangic=($sayfa*$limit)-$limit;
    
    $sorgu=mysql_query("select* from makale order by id desc LIMIT $baslangic,$limit");
    
    $i=1;
    if ($sayfaSayisi>1){ //1'den fazla kayıt varsa
    echo '<div id="sayfalama">';
    echo '<div class="sayfalamaaltalan">';
    echo '<ul id="sayfalama">';
    	for($i<$sayfaSayisi;$i++;)
    	{
    		
       echo '<li><a href="index.php?sayfa=listele&sayfa='.$i.'"</li>';
           if ($syf==$i){ echo 'class="syf_aktif"';}
        echo '</ul>';
    	echo '</div>';
    	echo '</div>';
    	}
    echo '</div>';
    }
    1 sorum daha olucak mesela 15 sayfa var 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 diye hepsini gösteriyor ben sadece 5 tane sayfa göstermek istiyorum
  • 19-06-2015, 08:44:40
    #2
    5 sayfa göstereceksen döngünü o anki sayfadan başlayıp sonraki 5 sayfayı yazdıracaksın. Ama o anki sayfadan sonra 3 sayfa olabilir. Bunu kontrol etmen gerekecektir.

    Gösterilecek Sayfa:11
    Toplam sayfa:15 olduğunu varyasayarsak
    if(Ts-Gs>=4){
    //döngü 11 den başlayıp 15 e kadar yazdır.
    }
    else{
    // döngüyü son sayfaya kadar yazdır.
    }