Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 15.07.2017
Сообщений: 3

Запуталась с навигацией

15.07.2017, 09:17. Показов 634. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Всю голову сломала - не могу понять как проще сделать.
Есть вот такие страницы:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
else if ($kolichestvo >= 180  && $kolichestvo < 193 and $page == 2) 
{echo "<nav class=\"navigation pagination\">
<div class=\"nav-links\">
<a class='page-numbers' href='search.php?gorod=" . $gorod . "'>1</a>
<span class='page-numbers current'>2</span>
<a class='page-numbers' href='search.php?gorod=" . $gorod . "&page=3'>3</a>
<a class='page-numbers' href='search.php?gorod=" . $gorod . "&page=4'>4</a>
<a class='page-numbers' href='search.php?gorod=" . $gorod . "&page=5'>5</a>
<a class='page-numbers' href='search.php?gorod=" . $gorod . "&page=6'>6</a>
<a class='page-numbers' href='search.php?gorod=" . $gorod . "&page=7'>7</a>
<a class='page-numbers' href='search.php?gorod=" . $gorod . "&page=8'>8</a>
<a class='page-numbers' href='search.php?gorod=" . $gorod . "&page=9'>9</a>
<span class=\"page-numbers dots\">&hellip;</span>
<a class='page-numbers' href='search.php?gorod=" . $gorod . "&page=16'>16</a>
<a class=\"next page-numbers\" href=\"search.php?gorod=" . $gorod . "&page=3\">Далее</a></div>
</nav>
";}
.....
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
else if ($kolichestvo >= 180  && $kolichestvo < 193 and $page == 16) 
{echo "<nav class=\"navigation pagination\">
<div class=\"nav-links\">
<a class='page-numbers' href='search.php?gorod=" . $gorod . "&page=8'>8</a>
<a class='page-numbers' href='search.php?gorod=" . $gorod . "&page=9'>9</a>
<a class='page-numbers' href='search.php?gorod=" . $gorod . "&page=10'>10</a>
<a class='page-numbers' href='search.php?gorod=" . $gorod . "&page=11'>11</a>
<a class='page-numbers' href='search.php?gorod=" . $gorod . "&page=12'>12</a>
<a class='page-numbers' href='search.php?gorod=" . $gorod . "&page=13'>13</a>
<a class='page-numbers' href='search.php?gorod=" . $gorod . "&page=14'>14</a>
<a class='page-numbers' href='search.php?gorod=" . $gorod . "&page=15'>15</a>
<span class='page-numbers current'>16</span>
<a class=\"next page-numbers\" href=\"search.php?gorod=" . $gorod . "\">В начало</a></div>
</nav>
";}
Шаг $kolichestvo по 12 до 1000

Подскажите в какую сторону копать - не для каждого же значения создавать отдельный else if
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.07.2017, 09:17
Ответы с готовыми решениями:

Запуталась в кавычках
Да простят меня наиумнейшие форума сего за такую тему. Есть у меня сайт, у которого есть форма отправки сообщений, задача - научить...

Запуталась в регулярном выражении
Задание - Проверить что заданная строка – валидный домен (состоит из нескольких поддоменов, разделенных точкой. Поддомен может содержать...

Запуталась с куки и массивами
Здравствуйте, я пытаюсь проработать кусок кода, но не верно видать поняла суть работы с массивами. Я задала массив куки, в которых...

2
313 / 312 / 221
Регистрация: 11.07.2015
Сообщений: 1,107
15.07.2017, 10:38
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?php
/*
 * url - адрес страницы без параметра page
 * total - всего постов
 * num - постов на страницу
 */
function get_html_page_list($url,$total,$num) {
    if (empty($_GET['page'])) $cur = 0; else $cur = intval($_GET['page']);
    if ($cur<0) { echo '<script>document.location.href="'.$url.'";</script>'; exit; }
    $end = floor(($total-1)/$num);
    if (!$end) return '';
    $stranicy = array();
    for ($page=-4;$page<5;$page++) { $stranicy[] = $cur+$page; }
    $stranicy = array_unique($stranicy);
    asort($stranicy);
    if (strpos($url,'?')!==false) $url = $url.'&page='; else $url = $url.'?page=';
    $html = '   
    <div id="pagenavi"><ul>
    <li>Страницы: </li>'."\n";
    foreach ($stranicy as $is => $s) if (($s<0) OR ($s>$end)) unset($stranicy[$is]);
    $stranicy = array_values($stranicy);
    if ($stranicy===array()) return '';
    if ($stranicy[0]>0)
    $html .= '<li><a href="'.$url.'0" title="Старт" class="blacksquare">Начальная</a></li>'."\n";
    if ($cur>0)
    $html .= '<li><a href="'.$url.''.($cur-1).'" title="Назад" class="blacksquare">&laquo; Предыдущая</a></li>'."\n";
    $predidushiy = -1;
    foreach ($stranicy as $s) if ($s>=0) if ($s<=$end) {
        $raznica = $s-$predidushiy;
        $predidushiy = $s;
        if ($raznica>1) $html.='<li><a class="blacksquare">...</a></li>';
        $html.='<li><a href="'.$url.''.$s.'" title="'.($s+1).'" class="blacksquare'.($s==$cur?'active':'').'">'.($s+1).'</a></li>';     
    }
    if ($cur<end($stranicy))
    $html .= '<li><a href="'.$url.''.($cur+1).'" title="Вперед" class="blacksquare">Следующая &raquo;</a></li>'."\n";
    if (end($stranicy)<$end)
    $html .= '<li><a href="'.$url.''.$end.'" title="Конец" class="blacksquare">Последняя</a></li>'."\n";
    $html .= '</ul></div>'."\n";
    return $html;
}
$total = mf('SELECT COUNT(*) x FROM Pa','x'); // mysql запрос общего числа записей
?>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script>
$( "#pagenavi ul li a" ).hover(
  function() {
    $( this ).addClass('blacksquareactive');
  }, function() {
    $( this ).removeClass('blacksquareactive');
  }
);
</script>
<style>
#pagenavi ul li { 
    display:inline-block;
    margin: 0px 8px 0px 8px;
}
#pagenavi ul li a, #pagenavi ul li a:hover {
    color:#2026a1;
}
#pagenavi ul li a { 
    margin: 4px;
    border: 1px solid #9bd231;
    border-radius: 4px;
    background-color: #f5f6ed;
    padding: 6px 8px 3px 8px;
    text-decoration: none;
}
#pagenavi ul li a.blacksquareactive { 
    background-color: rgb(90, 150, 183);
    color: white;
    border-color: rgb(86, 133, 162);
}
</style>
<?php
echo get_html_page_list('search.php?gorod=' . $gorod,$total,12);
1
0 / 0 / 0
Регистрация: 15.07.2017
Сообщений: 3
15.07.2017, 13:46  [ТС]
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.07.2017, 13:46
Помогаю со студенческими работами здесь

Баг с постраничной навигацией
Здравствуйте уважаемые форумчане! Есть код постраничной навигации который работал идеально, но я столкнулся с одной сильной проблемой...

постраничной навигацией в таблицей
можете ли подсказать как сделать постраничной навигацией в таблицей на php самую простую

Проблемы с постраничной навигацией
Есть код: &lt;? $q = $_GET; $city = $_GET; $num = 5; $page = $_GET;

Продолжение $i++ в таблице с постраничной навигацией
Здравствуйте, у меня возникла проблема в таблице на сайте. Проблема состоит в том, что, код $i++ не продолжает работать в...

Как сделать $i++ в постраничной навигацией
Здравствуйте. У меня возникла проблема с $i++ на сайте, в основном это связано в постраничной навигацией. Суть проблемы: на сайте у...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru