Webmaster общности: Predpriemach.com | SearchEngines.bg

    Клас за странициране

    java script курс

    Автор: idevbg

    Здравейте,
    гледам че има доста теми из форума за странициране и проблеми с него. Сигурно има доста уроци тук за това, но реших да сложа и моя си клас за тая работа.

    Изтегляте си самия клас от тук : http://pastebin.com/jihAFvFx

    Слагам урока в Code, тъй като няма да обяснявам за написването на класа, но ако имате въпроси и Ви е интересно винаги може да питате във форума.

    Класа се ползва по следния начин :

    Първо имаме нужда да си пуснем една заявка, кяото да преброи общия брой резултати, които ще изкарваме. Аз ползвам само mysqlI и съм позабравил mysql(); но вие ще можете да си пуснете заявката както Ви е по-удобно.

    $count_query = $mysqli -> query("select count(`id`) as `total` from `vs` order by `id` desc");
    $count = $count_query -> fetch_array();
    $total = $count['total'];

    Сега имаме $total, което ни държи общия брой резултати.

    $page = (int)$_GET['page'];
    // тук взема текущата страница. Ако искате в URL-то да ви е различно от ?page=1 променете $_GET-а
    $page = is_numeric($page) ? $page : 1;
    $perPage = 10; // Тук попълвате по колко резултата на страница искате.
    $paging = new paging($page, $perPage, $total);
    $offset = $paging -> offset;
    $allPages = $paging -> ShowPages();

    ShowPages(); връща резултатите във вид ЛИНК!ИМЕ!КЛАС|ЛИНК!ИМЕ!КЛАС
    Т.е. ако имаме три страници и сме на втората ще имаме следния резултат :

    1!<>!page_inactive

    Така след един

    $onePage = explode("|", $allPages);

    вече имаме един масив държащ елементите на всяка страница. Достатъчно е да ги обходим така:

    foreach($singlePage as $pageElements) {
    $pageElement = explode("!", $pageElements);
    // и тук вече имаме
    // $pageElement[0] - което е линка на страницата
    // $pageElement[1] - което е името на страницата
    // $pageElement[2] - което е класа на страницата
    }

    Извеждате си както искате тези резултати и сте готови. Само подавате index.php?page=цифра
    И сте готови. Ако някой не може да си го дооправи да пита във форума – ще му помогна.

    Скоро правих класа да стои текущата страница винаги в средатата, като ти показва три вляво и три вдясно. Нещо като на youtube коментарното странициране както се държи. Ако някой има други идеи, с които да се подобри ще го дописвам.

    Благодаря за четенето 🙂