Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Навигация при большом количестве сраниц

27K
22 мая 2007 года
mcWhuper
11 / / 22.05.2007
Уважаемые,

Я начинающий в веб-программировании. Возникла такая проблема: имеется сайт с различными разделами. В каждом из них содержится около 30 страниц. Для перехода между страницами я использовал просто ссылки с нумерацией. Типа "1, 2, 3, 4, 5, 6". Занимает все 30 ссылок на страницы достаточно много места на экране. Хотелось бы сделать таким образом, например как в этом форуме список тем по страницам открывается. Например: "пред. 12, 13, 14, 15... след.". Типа того. Если кто может - напишите, как это сделать.
7.8K
22 мая 2007 года
Tingo
201 / / 17.05.2007
предполагается так:
n - текущая страница, выбирается n+2, n-2 и выводится.

или же можно сделать при помощи <SELECT>

если что не ясно... милости просим...
3.0K
22 мая 2007 года
NetWork
77 / / 10.08.2006
Вот готовая функ-я

Код:
<?php
function yandex_link_bar($page, $count, $pages_count, $show_link)
{
// $show_link - это количество отображаемых ссылок;
// нагляднее будет, когда это число будет парное
// Если страница всего одна, то вообще ничего не выводим
if ($pages_count == 1) return false;
$sperator = ' '; // Разделитель ссылок; например, вставить "|" между ссылками
// Для придания ссылкам стиля
$style = 'style="color: #808000; text-decoration: none;"';
$begin = $page - intval($show_link / 2);
unset($show_dots); // На всякий случай :)
// Сам постраничный вывод
// Если количество отображ. ссылок больше кол. страниц
if ($pages_count <= $show_link + 1) $show_dots = 'no';
// Вывод ссылки на первую страницу
if (($begin > 2) && ($pages_count - $show_link > 2)) {
echo '<a '.$style.' href='.$_server['php_self'].'?page=1> |< </a> ';
}
for ($j = 0; $j <= $show_link; $j++) // Основный цикл вывода ссылок
{
$i = $begin + $j; // Номер ссылки
// Если страница рядом с началом, то увеличить цикл для того,
// чтобы количество ссылок было постоянным
if ($i < 1) continue;
// Подобное находится в верхнем цикле
if (!isset($show_dots) && $begin > 1) {
echo ' <a '.$style.' href='.$_server['php_self'].'?page='.($i-1).'><b>...</b></a> ';
$show_dots = "no";
}
// Номер ссылки перевалил за возможное количество страниц
if ($i > $pages_count) break;
if ($i == $page) {
echo ' <a '.$style.' ><b>'.$i.'</b></a> ';
} else {
echo ' <a '.$style.' href='.$_server['php_self'].'?page='.$i.'>'.$i.'</a> ';
}
// Если номер ссылки не равен кол. страниц и это не последняя ссылка
if (($i != $pages_count) && ($j != $show_link)) echo $sperator;
// Вывод "..." в конце
if (($j == $show_link) && ($i < $pages_count)) {
echo ' <a '.$style.' href='.$_server['php_self'].'?page='.($i+1).'><b>...</b></a> ';
}
}
// Вывод ссылки на последнюю страницу
if ($begin + $show_link + 1 < $pages_count) {
echo ' <a '.$style.' href='.$_server['php_self'].'?page='.$pages_count.'> >| </a>';
}
return true;
} // Конец функции

// Подключение к базе данных
mysql_connect('localhost', 'root', '') or die('error! Нет соединения с сервером mysql!');
mysql_select_db('data_base') or die('error! Нет соединения с базой данных!');

// Подготовка к постраничному выводу
$perpage = 10; // Количество отображаемых данных из БД
if (empty($_get['page']) || ($_get['page'] <= 0)) {
$page = 1;
} else {
$page = (int) $_get['page']; // Считывание текущей страницы
}
// Общее количество информации
$count = mysql_numrows(mysql_query('select * from table')) or die('error! Записей не найдено!');
$pages_count = ceil($count / $perpage); // Количество страниц
// Если номер страницы оказался больше количества страниц
if ($page > $pages_count) $page = $pages_count;
$start_pos = ($page - 1) * $perpage; // Начальная позиция, для запроса к БД
// Вызов функции, для вывода ссылок на экран

yandex_link_bar($page, $count, $pages_count, 10);

// Вывод информации из базы данных
echo '<p><b>Постраничный вывод информации</b></p>';
$result = mysql_query('select * from table limit '.$start_pos.', '.$perpage) or die('error!');
while ($row = mysql_fetch_array($result)) {
echo '<p>'.$row['some_field'].'</p>';
}
?>
27K
22 мая 2007 года
mcWhuper
11 / / 22.05.2007
Спасибо за предложенную функцию. А возможно ли такая реаализация на Java? НУ УЖ ОЧЕНЬ НАДО!!!
15
22 мая 2007 года
shaelf
2.7K / / 04.05.2005
Возможна.
27K
22 мая 2007 года
mcWhuper
11 / / 22.05.2007
Цитата: shaelf
Возможна.



а можете написать пример?

337
22 мая 2007 года
shine
719 / / 09.06.2006
Цитата: mcWhuper
а можете написать пример?


Простите пожалуйста, но если уж вам "ОЧЕНЬ НАДО", то может быть раберетесь в том коде который вам дали и переведете его в код на Java?

92
23 мая 2007 года
Тень Пса
2.2K / / 19.10.2006
или, например, в раздел Java сходите :) мож там вам помогут перевести
13
23 мая 2007 года
RussianSpy
3.0K / / 04.07.2006
Думается что автору нужен JavaScript а не Java :D
92
23 мая 2007 года
Тень Пса
2.2K / / 19.10.2006
о =) кстати да ) но дождемся ответа самого топикстартера )
27K
23 мая 2007 года
mcWhuper
11 / / 22.05.2007
Само собой разумеется, что нужен JavaScript, а не Java! При чем тут это?
Цитата:
Спасибо за предложенную функцию. А возможно ли такая реализация на Java? НУ УЖ ОЧЕНЬ НАДО!!!

по моему фраза "реализация на Java" означает, что при создании JavaScript'a будет использован язык Java. Если бы вопрос был поставлен неправильно тогда было б написано - "нужна Java" например. А так придираться к словам ненадо. Знаете, УМНИЧАТЬ, любой может, а вот реально помочь еденицы. А вот такие, которые кроме разговоров еще и реально что-тонаписать могут (как например NetWork), те и есть настоящие мастера! Мы не лингвисты и не философы, а программисты. Так что, будьте добры, соответсвовать. А если человек просит помощи, так это не значит, что к нему надо ТАК придираться

7.9K
23 мая 2007 года
vasa_c
191 / / 05.04.2007
mcWhuper, ваши душевные излияния растрогали меня до глубины души. Я плачу.
12
23 мая 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: mcWhuper
Само собой разумеется, что нужен JavaScript, а не Java! При чем тут это? по моему фраза "реализация на Java" означает, что при создании JavaScript'a будет использован язык Java.


Перечить столько раз, сколько нужно до окончательного понимания:
http://phpclub.ru/talk/showthread.php?s=&threadid=50884&rand=2
Если реально осознал - извинись.

15
24 мая 2007 года
shaelf
2.7K / / 04.05.2005
2mcWhuper Во загнул... Товарищь, читаем, читаем, читаем.... *подумав добавил* и ещё раз читаем. Мы не ленгвисты, эт точно, но мы программисты. С каких это пор Java и JavaScript стало одним и тем же, а? Мы же не говорим написать сайт на С++, а подразумеваем РНР. Или я не прав? Есть общие понятия, которые путать нельзя и старайся не прерикать с людьми, которые более грамотны тебя в области спора, Иванушкой останешься.
27K
24 мая 2007 года
mcWhuper
11 / / 22.05.2007
Цитата:
старайся не прерикать с людьми, которые более грамотны тебя в области спора, Иванушкой останешься.

, бесспорно ты прав! Моя такая реакция объясняется некоторой нетактичностью со стороны других пользователей. Я считал так - раз я не разбираюсь, значит меня КОРРЕКТНО поправят без всяких там издевок, притом, что я написал, что начинающий во всем этом деле. Разве не так? Вообщем спор проехали. Я признаю, что немного загнул. Ну все таки может ли кто-то оформить что-то подомное в виде скрипта?

15
24 мая 2007 года
shaelf
2.7K / / 04.05.2005
JavaScript это клиентский язык. Данная (целесообразная) реализация на нём невозможно. Можно извратится скрывая элементы, но это полный бред (вернее есть неоходимость в некоторых случаях, но это явно не твой)
27K
24 мая 2007 года
mcWhuper
11 / / 22.05.2007
ОК. Кто может подсказать, где можно научиться азам Java? Если можно ссылку для "чайников".
15
24 мая 2007 года
shaelf
2.7K / / 04.05.2005
По поводу Java читай выше. Учится всему по книгам и манам + практика.
12
25 мая 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: mcWhuper
ОК. Кто может подсказать, где можно научиться азам Java? Если можно ссылку для "чайников".



http://www.firststeps.ru/java/java1.html

92
25 мая 2007 года
Тень Пса
2.2K / / 19.10.2006
2 mcWhuper: а вот "офигительный набор отверток" по JS, так... на всякий случай, если вы снова ошиблись с названием :)

http://www.w3schools.com/js/default.asp

PS: и различие между Java и JavaScript
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог