Paginator

1. Влад (30.09.2013 / 14:12)
Хочу написать свой пагинатор, обьясните его структуру и тп. Заранее благодарен.

2. marti91 (30.09.2013 / 14:46)
Создаешь переменную в которую заносишь число равное количеству элементов на страницу($pare_page = 10).
Далее создаешь переменную с количеством записей в БД($data_count = 1000).
Далее делишь:
<?php
$pages_count = ceil($data_page / $pare_page); # Тут количество страниц
А дальше уже через GET-запрос узнаешь на какой странице сейчас пользователь, вот так например:
<?php
$page = isset($_GET['page']) ? int($_GET['page'] : 1; # Это текущая страница
$start = ($page - 1) * $pare_page; # Элемент с которого начинать выводку из БД
SQL-запрос на выводку из БД:
"SELECT * FROM `table` LIMIT $start, $pare_page"
Далее в цикле вывести результаты.
Все.

3. marti91 (30.09.2013 / 14:59)
И конечно же надо вывести ссылки на страницы:
<?php
if($pages_count >= 1) {
    for($i = 1; $i <= $pages_count; $i++) {
        echo "<a href='?page=$i'>$i</a> ";
    }
}



4. Влад (30.09.2013 / 15:06)
Мм спасибо за пояснение, еще один вопрос, каким образом вывести дынные с 10 по 20 строки?

5. marti91 (30.09.2013 / 15:13)
4. danan,
Если имеется ввиду SQL, то так:
"SELECT * FROM `table` LIMIT 10, 20"


6. BEPDuKT (30.09.2013 / 15:18)
5. marti91, Написал скрипт пагинации, красавчик D

7. marti91 (30.09.2013 / 15:19)
6. BEPDuKT, Заметил только после того, как написал D

8. Володя (30.09.2013 / 15:23)
1. http://2develop.ru/files/nav.rar
2. Вторая ссылка удалена. Переадресация на вирус.

9. marti91 (30.09.2013 / 15:48)
8. Caswap, Человек пишет что хочет написать СВОЙ, СВОЙ скрипт пагинации. А Вы предоставили материал, где человек пишет пигинацию, использую скрипт пагинации.

10. BEPDuKT (30.09.2013 / 16:58)
marti91 (30 Сентября 2013 / 15:19)
6. BEPDuKT, Заметил только после того, как написал D
Типа подсказал D Я представляю если кто-то создаст тему "Подскажите как написать двиг", и ты зайдешь в эту тему. D

11. marti91 (30.09.2013 / 17:33)
11. BEPDuKT, не-е, пагинация - несколько строк кода. На двиг у меня времени не хватит, поэтому я скорее всего просто проигнарирую тему.. Так-то! D

12. Андрей (30.09.2013 / 18:28)
12. marti91, скорее просто не заметишь как напишешь его. smile

13. BEPDuKT (30.09.2013 / 18:34)
Барыга Обама (30 Сентября 2013 / 18:28)
12. marti91, скорее просто не заметишь как напишешь его. smile
Ага, начал писать ответ - и залип в тему на неделю)

14. Артур (30.09.2013 / 18:56)
SELECT head, body, foot FROM NewCMS
Двиг написан!

URL: https://visavi.net/topics/39084