Забыли пароль?
Запросите новый здесь.

Автор темы: yury
ID темы: 10
Информация:
Тема содержит 2 сообщения, была просмотрена 3006 раз.
Просмотр темы
PHP-Fusion Russia » Информация » FAQ
 Распечатать тему
Как сделать постраничную навигацию в php-fusion
yury
Функция:
makepagenav($start, $count, $total, $range = 0, $link = "") - позволяет создать нумерованную панель для навигации при выводе многостраничного раздела или статьи.

Аргументы:
$start - номер стартовой страницы;
$count - количество единиц контента (статей, новостей и т.д.), отображаемых на странице ;
$total - общее количество страниц;
$range - количество элементов, отображаемых слева и справа от текущего. Помимо них, всегда отображаются элементы, указывающие на первую и последнюю страницы. Аргумент необязательный - если его не указать, будет выводиться три элемента - указатели на первую, текущую и последнюю страницы;
$link - базовый адрес страниц, на которые ссылаются элементы меню. Необязательный аргумент. Если опущен, берется базовый адрес текущей страницы.

Пример:
Скачать исходники  Код
if ($pagecount > 1) {
echo "<div align='center' style='margin-top:5px;'>\n".makepagenav($_GET['rowstart'], 1, $pagecount, 3, FUSION_SELF."?article_id=".$_GET['article_id']."&amp;")."\n</div>\n";
}




Возвращаемое значение:
Возвращает HTML-код, содержащий панель навигации со всеми элементами. В 7-й версии формируются нужные теги <div>, в более старых версиях - <table>.

Расположение:
/maincore.php

Типичный шаблон:
Скачать исходники  Код
<?php
// Устанавливаем количество единиц контента,
// отображаемого на одной странице
$items_per_page = 10;
// Здесь стандартная проверка переменной $_GET['rowstart']
// и присваивание ей 0 в случае, если она не определена либо не является числом
if (!isset($_GET['rowstart']) || !isnum($_GET['rowstart'])) {
$_GET['rowstart'] = 0;
}
// Подсчет количества записей в таблице базы данных, из которой берется контент.
// В данном примере добавлено WHERE-условие field1='this'
$rows = dbcount("(field)", TABLE_NAME, "field1='this'");
// Отображаем на странице записи таблицы от значения $_GET['rowstart']
// 10 следующих за ним ($items_per_page)
$result = dbquery(
"SELECT field FROM ".TABLE_NAME."
WHERE field1='this'
LIMIT ".$_GET['rowstart'].",$items_per_page"
);
while($data = dbrows($result)) {
// Здесь отображаем контент, полученный из базы, в нужном нам виде
}
// Если количество нужных строк в базе больше заданного (10),
// используем makepagenav()
if ($rows > $items_per_page) {
echo makepagenav($_GET['rowstart'], $items_per_page, $rows, 3);
}
?>




Автор: alipapa
Изменил(а) jikaka, 16.06.2013 13:03
 
Polarfox
А еще
http://www.php-fu...akepagenav

вообще у нас все знают про http://www.php-fu...functions/ ? Для про-двинутых и вообще полезно очень.

Но перевод тоже отлично.
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле.
Ежели кто забанен за спам, но не считает себя ботом: можете сообщить мне об этом, все будет хорошо.

PolarLab - вход для подопытных
 
Web

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум:
Похожие темы
Топ 5 пользователей форума
Alex Alex (1,165)   Zaxap Zaxap (1,079)   Vova Vova (877)   Pisatel Pisatel (678)   util util (666)