質問するログイン新規登録

回答編集履歴

2

修正

2016/12/22 04:34

投稿

yambejp
yambejp

スコア118110

answer CHANGED
@@ -39,14 +39,14 @@
39
39
  $lastPage=20;
40
40
  $perPage=6;
41
41
  $bigMove=true;
42
- $pager_first=0;
42
+ $pager_first=false;
43
- $pager_last=0;
43
+ $pager_last=false;
44
44
  if(ceil($perPage/2) >= $currentPage ){
45
45
  $start=1;
46
- $pager_first=1;
46
+ $pager_first=true;
47
47
  }elseif(floor(($perPage)/2) >= $lastPage - $currentPage ){
48
48
  $start=$lastPage - $perPage +1;
49
- $pager_last=1;
49
+ $pager_last=true;
50
50
  }else{
51
51
  $start=$currentPage-ceil($perPage/2) +1;
52
52
  }

1

sample

2016/12/22 04:34

投稿

yambejp
yambejp

スコア118110

answer CHANGED
@@ -22,4 +22,46 @@
22
22
  前へ< [7] 8 9 10 11 12 >次へ なのか
23
23
  前へ< 5 6 [7] 8 9 10 >次へ なのか
24
24
 
25
- など検討ください
25
+ など検討ください
26
+
27
+ # sample
28
+ ざっくり書いてみました
29
+ 仕様は前述したとおり、6ページ表示の最大20ページです
30
+ (細かいチェックしてないのでバグってたらスミマセン)
31
+ ```PHP
32
+ <style>
33
+ .largelink{
34
+ font-size:2em;
35
+ }
36
+ </style>
37
+ <?PHP
38
+ $currentPage=filter_input(INPUT_GET,"c")?:1;
39
+ $lastPage=20;
40
+ $perPage=6;
41
+ $bigMove=true;
42
+ $pager_first=0;
43
+ $pager_last=0;
44
+ if(ceil($perPage/2) >= $currentPage ){
45
+ $start=1;
46
+ $pager_first=1;
47
+ }elseif(floor(($perPage)/2) >= $lastPage - $currentPage ){
48
+ $start=$lastPage - $perPage +1;
49
+ $pager_last=1;
50
+ }else{
51
+ $start=$currentPage-ceil($perPage/2) +1;
52
+ }
53
+
54
+ $view_prev=($bigMove and !$pager_first)?"<a href='?c=".($start-1)."' class='largelink'>prev&lt;</a>":"";
55
+ $view_next=($bigMove and !$pager_last)?"<a href='?c=".($start+$perPage)."' class='largelink'>&gt;next</a>":"";
56
+
57
+ print $view_prev." ";
58
+ for($i=$start;$i<$start+$perPage;$i++){
59
+ if($i==$currentPage){
60
+ print "<span class='largelink'>{$i}</span> ";
61
+ }else{
62
+ print "<a href='?c={$i}'>{$i}</a> ";
63
+ }
64
+ }
65
+ print $view_next;
66
+
67
+ ```