Намаляне/лимитиране броя на страници в странициране

vinsbg

Registered
Здравейте,

Как може да се лимитират страниците, защото сега показва 200+ страници :)

принципно това е сегашния код:
Код:
if (isset($_GET["page"])) { $page = $_GET["page"]; } else { $page=1; };
$start_from = ($page-1) * 20;
$result = $pdo->prepare("SELECT * FROM table LIMIT $start_from, 20");
$result->execute();

for($i=0; $row = $result->fetch(); $i++)
{
     // results
}
$result = $pdo->prepare("SELECT COUNT(id) FROM table");
            $result->execute();
            $row = $result->fetch();
            $total_records = $row[0];
            $total_pages = ceil($total_records / 20);

            for ($i=1; $i<=$total_pages; $i++) {
                echo "<a href='?page=".$i."'";
                if($page==$i)
                {
                    echo "class=active";
                }
                    echo ">";
                    echo "".$i."</a> ";
};

Моля за малко помощ с добавянето на каквото е нужно, за да се съкрати броя на страниците.
 
Какво очакваш да излезе при какво количество страници? Конкретизирай малко, защото можеш просто for-а да го напишеш така:

PHP:
for($i=1; $i < 10; $i++)

И страниците винаги ще са 10, само че едва ли това е идеята е. Кажи какъв output очакваш, например при 200 страници какви линкове искаш да излязат?
 
vinsbg каза:
Да се получава нещо такова.. т.е. +2 отпред/отзад да има
Код:
1 2 3 >>

<< 9 10 11 12 13 >>
Тогава ползваш същия фор, само че с малко по-различна дефиниция за $i:

PHP:
            for ($i=1; $i<=$total_pages; $i++) {

ще трябва да циклиш от $page - 2 до <=$page + 2.
 

Back
Горе