Нужно добавить «Перейти на последнюю страницу» в этот пейджер

  • Автор темы Йохан Грицкевич
  • 47
  • Обновлено
  • 12, May 2024
  • #1
Я пытаюсь добавить в этот код «Перейти на первую страницу» и «Перейти на последнюю страницу». Очевидно, что «Перейти на первую страницу» не является проблемой, но я не уверен, что знаю, как сделать «Перейти на последнюю страницу».

 

for($j=$ini;$j<$end;$j++)if(isset($entries[1][$j]))echo str_replace($ovo,$sovim,$entries[1][$j]);

if($maxp>-1){

echo '<p>'.strstr($fcontent,'<!--').' <div class="pager"> '; $gap = "";

for($j=0;$j<$maxp+1;$j++){

if($j==0||$j==$maxp||($j-$page)*($j-$page)<26){

echo $gap; $gap = "";

if($j!=$page)echo " <a href=\"?view=page&pagename=updatemain&p=".$j.$si."\"><span class=\"pagerlink\">".($j+1)."</span></a> " ;

else echo " <span class=\"current\">".($j+1)."</span> " ;

}

else $gap = "...</div>";

}

echo '</p>';

}

}

Код (разметка):

Йохан Грицкевич


Рег
14 Oct, 2011

Тем
1

Постов
4

Баллов
14
  • 18, May 2024
  • #2
Хорошие моменты, позже уберу.

Я только что нашел нужный мне код и хотел сначала заставить его работать так, как я хотел.

Спасибо за ваш код. PS Мне всегда трудно найти лучший ответ, когда оба человека предлагают мне действительно хорошие решения.

Так что я просто оставлю это как есть.

Ура! Все выигрывают!
 

Ruben2


Рег
02 Apr, 2014

Тем
0

Постов
2

Баллов
2
  • 20, May 2024
  • #3
Ну... я немного подчистил (вам действительно нужно понять разницу между одинарными и двойными кавычками)
 

for ($j = $ini; $j < $end; $j++) {

if (isset($entries[1][$j])) {

echo str_replace($ovo,$sovim,$entries[1][$j]);

}

if ($maxp > -1) {

echo '<p></p>'.strstr($fcontent,'<!--').' <div class="pager">';

$gap = '';

echo '<a href="?view=page&pagename=updatemain&p=0" class="pagerlink">First</a>';

for ($j = 0; $j < $maxp+1; $j++) {

if ( $j == 0 || $j == $maxp || ($j - $page)*($j - $page) < 5) {

echo $gap;

$gap = '';

if ($j != $page) {

echo '<a href="?view=page&pagename=updatemain&p='.$j.$si.'" class="pagerlink">'.($j+1).'</a>';

} else {

echo '<span class="current">'.($j+1).'</span>';

}

} else {

$gap = '...</div>';

}

}

echo '<a href="?view=page&pagename=updatemain&p='.{$maxp}.'" class="pagerlink">Last</a>';

}

}

PHP: Кроме того, смешивание с использованием фигурных скобок и их отсутствием приводит к путанице.

То же самое происходит и с разным форматированием почти от строки к строке.

Кроме того, почему у вас есть интервал внутри тега ? В этом нет необходимости, если только вы не делаете что-то странное — просто поместите класс в тег a. И... пустой перед началом ... для чего он нужен?
 

vladviks


Рег
29 Nov, 2006

Тем
0

Постов
2

Баллов
2
  • 01, Jun 2024
  • #4
На самом деле я упростил это, кажется, работает:
 

for($j=$ini;$j<$end;$j++)if(isset($entries[1][$j]))echo str_replace($ovo,$sovim,$entries[1][$j]);

if($maxp>-1){

echo '<p></p>'.strstr($fcontent,'<!--').' <div class="pager"> '; $gap = "";

echo " <a href=\"?view=page&pagename=updatemain&p=0\"><span class=\"pagerlink\">First</span></a> ";

for($j=0;$j<$maxp+1;$j++){

if($j==0||$j==$maxp||($j-$page)*($j-$page)<5){

echo $gap; $gap = "";

if($j!=$page)echo " <a href=\"?view=page&pagename=updatemain&p=".$j.$si."\"><span class=\"pagerlink\">".($j+1)."</span></a> " ;

else echo " <span class=\"current\">".($j+1)."</span> " ;

}

else $gap = "...";

}

echo "<a href=\"?view=page&pagename=updatemain&p={$maxp}\"><span class=\"pagerlink\">Last</span></a></div>";

}

}

Код (разметка):
 

unBow1D


Рег
31 Oct, 2013

Тем
1

Постов
3

Баллов
13
  • 04, Jun 2024
  • #5
Я немного поигрался с вашим кодом, потому что то, как вы его изложили, чертовски сложно читать — вам действительно не нужно избегать всех этих кавычек.
 for($j=$ini; $j<$end; $j++){

if(array_key_exists($j, $entries[1])){

echo str_replace($ovo, $sovim, $entries[1][$j]);

}

if($maxp > -1){

echo '<p>'.strstr($fcontent,'<!--').' <div class="pager"> ';

$gap = "";

for($j=0; $j<$maxp+1; $j++){

if($j==0||$j==$maxp||(($j-$page)*($j-$page)<26)) {

echo $gap;

$gap = "";

if($j!=$page) {

echo " <a href='?view=page&pagename=updatemain&p={$j}{$si}'><span class='pagerlink'>".($j+1)."</span></a> " ;

}

else {

echo " <span class='current'>".($j+1)."</span> " ;

}

}

else {

$gap = "...</div>";

}

}

echo " <a href='?view=page&pagename=updatemain&p={$maxp}'><span class='pagerlink'>".($maxp)."</span></a> " ;

echo '</p>';

}

}
Код (разметка): Не зная, что такое некоторые переменные, я был немного в неведении.

Является ли $maxp длиной статьи? В противном случае вам, возможно, придется просто перебрать массив, чтобы получить максимальное количество страниц, если нет простых математических вычислений.
 

PIR1


Рег
10 Feb, 2012

Тем
1

Постов
2

Баллов
12
Тем
49554
Комментарии
57426
Опыт
552966

Интересно