v2.5.2
Giriş yap

sayfalama işlemini geliştirmek

arco
756 defa görüntülendi

<php?
Sayfalama işlemi yapıyorum Sayfaları yazdıma kodum şu şekilde=
for($i = 1; $i<=$toplamSayfa;$i++)

                      {

if ($i==$sayfa) {
echo ' <li class="page-item active">
<span class="page-link">'.$i.'<span class="sr-only">(current)</span>
</span>';

                      } else {
                        echo ' <li class="page-item"><a class="page-link" href="my-posts.php?sayfa='.$i.'">'.$i.'</a></li>
                    </li>';
                      }
                    }

?>

ama ben sayfalamada hepsini birden değil şu şekil olsun istiyorum=
1-2-3-4-5.....10-11-12
gibi olsun istiyorum çünkü sayfa sayısı fazla olunca butonlar kalabalık olacak estetik bozulacak
Cevap yaz
Cevaplar (3)
arco
1713 gün önce

hocam efsane fonksiyon allah razı olsun :) hallettim

arco
1713 gün önce

Teşekkürler hocam

makifgokce
1713 gün önce

Elimde eski bir kod var bende bi yerden bulmuştum.Kendine göre düzenleyip kulllan.

function pagination($current_page, $total_records, $total_pages, $page_url)
{
    $pagination = '';
    if($total_pages > 0 && $total_pages != 1 && $current_page <= $total_pages){ //verify total pages and current page number
        $pagination .= '<ul>';

        $right_links    = $current_page + 3;
        $previous       = $current_page - 1; //previous link
        $next           = $current_page + 1; //next link
        $first_link     = true; //boolean var to decide our first link

        if($current_page > 1){
			$previous_link = ($previous==0)?1:$previous;
            $pagination .= '<li class="pagination"><a href="'.$page_url.'?page=1">İlk</a></li>'; //first link
            $pagination .= '<li class="pagination"><a href="'.$page_url.'?page='.$previous_link.'">Önceki</a></li>'; //previous link
                for($i = ($current_page-2); $i < $current_page; $i++){ //Create left-hand side links
                    if($i > 0){
                        $pagination .= '<li class="pagination"><a href="'.$page_url.'?page='.$i.'">'.$i.'</a></li>';
                    }
                }
            $first_link = false; //set first link to false
        }

        if($first_link){ //if current active page is first link
            $pagination .= '<li class="active pagination">'.$current_page.'</li>';
        }elseif($current_page == $total_pages){ //if it's the last active link
            $pagination .= '<li class="active pagination">'.$current_page.'</li>';
        }else{ //regular current link
            $pagination .= '<li class="active pagination">'.$current_page.'</li>';
        }

        for($i = $current_page+1; $i < $right_links ; $i++){ //create right-hand side links
            if($i<=$total_pages){
                $pagination .= '<li class="pagination"><a href="'.$page_url.'?page='.$i.'">'.$i.'</a></li>';
            }
        }
        if($current_page < $total_pages){
				$next_link = ($next > $total_pages)? $total_pages : $next;
                $pagination .= '<li class="pagination"><a href="'.$page_url.'?page='.$next_link.'">İleri</a></li>'; //next link
                $pagination .= '<li class="pagination"><a href="'.$page_url.'?page='.$total_pages.'">Son</a></li>'; //last link
        }

        $pagination .= '</ul>';
    }
    return $pagination; //return pagination links
}