Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Как сделать простую пагинацию

Форум для авторов модов для phpBB 2.0.x.
Аватара пользователя
Сергей Секирин
phpBB 2.0.0
Сообщения: 244
Стаж: 19 лет 2 месяца

Как сделать простую пагинацию

Сообщение Сергей Секирин »

Подскажите пожалуйста - есть простой скрипт с таким запросом:

Код: Выделить всё

$sql = "SELECT t.forum_id, t.topic_id, t.topic_title, t.topic_poster, u.username
FROM " . TOPICS_TABLE ." as t, phpbb2_users as u
WHERE t.forum_id != $hidden_forum
AND t.topic_poster = u.user_id
ORDER BY topic_title ASC";
Затем всё передаётся в шаблон (таблицу) и выводится. Но как сделать пагинацию - не имею представления. Не объяснит ли кто-нибудь на примере? Мне не обязательно, чтобы она с настройками была связана - пусть хоть в скрипте будет прописано количество тем на страницу и всё. Подскажите пожалуйста.
Апология здравомыслия - странное занятие Православия:-)
quazi
phpBB 2.0.2
Сообщения: 306
Стаж: 19 лет 1 месяц

Сообщение quazi »

Аватара пользователя
[R: R@m$e$ :U]
phpBB Maniac
Сообщения: 1464
Стаж: 19 лет 3 месяца
Откуда: Novosibirsk,RU

Сообщение [R: R@m$e$ :U] »

в phpBB для этого используется функция

Код: Выделить всё

generate_pagination($base_url, $num_items, $per_page, $start_item, $add_prevnext_text = TRUE)
где...
$base_url - урл страницы на которую переходим...
$num_items - общее количество элементов...
$per_page - количество элементов на страницу...
$start_item - элемент с которого начинается эта страница...
$add_prevnext_text - добавлять ли текст
Пред. 1, 2, 3, 4 След.
для примера... в самом phpBB используется это так....

Код: Выделить всё

generate_pagination("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id&topicdays=$topic_days", $topics_count, $board_config['topics_per_page'], $start)
где... "viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id&topicdays=$topic_days" думаю даже объяснять не надо...
$topics_count - считается путем извлечения из таблицы форумов значений forum_topics... в иных случаях, можно использовать sql-запрос COUNT(*)...
$board_config['topics_per_page'] - количество тем на страницу, настраевомое из админки... которое также можно жестко привязать к скрипту...
$start - это значение берущееся из строки адреса для переменной &start=xx, где хх это начальный первый элемент данной страницы... =)
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)

Оставь благодарность, подтверди работоспособность совета.

ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
Аватара пользователя
Сергей Секирин
phpBB 2.0.0
Сообщения: 244
Стаж: 19 лет 2 месяца

Сообщение Сергей Секирин »

[R: R@m$e$ :U] - спасибо! Час помучался и разобрался как применить функцию. Заработала. Спасибо!
Апология здравомыслия - странное занятие Православия:-)

Вернуться в «Для авторов (phpBB 2.0.x)»