回答編集履歴

2

修正

2016/12/22 04:34

投稿

yambejp
yambejp

スコア114843

test CHANGED
@@ -80,21 +80,21 @@
80
80
 
81
81
  $bigMove=true;
82
82
 
83
- $pager_first=0;
83
+ $pager_first=false;
84
84
 
85
- $pager_last=0;
85
+ $pager_last=false;
86
86
 
87
87
  if(ceil($perPage/2) >= $currentPage ){
88
88
 
89
89
  $start=1;
90
90
 
91
- $pager_first=1;
91
+ $pager_first=true;
92
92
 
93
93
  }elseif(floor(($perPage)/2) >= $lastPage - $currentPage ){
94
94
 
95
95
  $start=$lastPage - $perPage +1;
96
96
 
97
- $pager_last=1;
97
+ $pager_last=true;
98
98
 
99
99
  }else{
100
100
 

1

sample

2016/12/22 04:34

投稿

yambejp
yambejp

スコア114843

test CHANGED
@@ -47,3 +47,87 @@
47
47
 
48
48
 
49
49
  など検討ください
50
+
51
+
52
+
53
+ # sample
54
+
55
+ ざっくり書いてみました
56
+
57
+ 仕様は前述したとおり、6ページ表示の最大20ページです
58
+
59
+ (細かいチェックしてないのでバグってたらスミマセン)
60
+
61
+ ```PHP
62
+
63
+ <style>
64
+
65
+ .largelink{
66
+
67
+ font-size:2em;
68
+
69
+ }
70
+
71
+ </style>
72
+
73
+ <?PHP
74
+
75
+ $currentPage=filter_input(INPUT_GET,"c")?:1;
76
+
77
+ $lastPage=20;
78
+
79
+ $perPage=6;
80
+
81
+ $bigMove=true;
82
+
83
+ $pager_first=0;
84
+
85
+ $pager_last=0;
86
+
87
+ if(ceil($perPage/2) >= $currentPage ){
88
+
89
+ $start=1;
90
+
91
+ $pager_first=1;
92
+
93
+ }elseif(floor(($perPage)/2) >= $lastPage - $currentPage ){
94
+
95
+ $start=$lastPage - $perPage +1;
96
+
97
+ $pager_last=1;
98
+
99
+ }else{
100
+
101
+ $start=$currentPage-ceil($perPage/2) +1;
102
+
103
+ }
104
+
105
+
106
+
107
+ $view_prev=($bigMove and !$pager_first)?"<a href='?c=".($start-1)."' class='largelink'>prev&lt;</a>":"";
108
+
109
+ $view_next=($bigMove and !$pager_last)?"<a href='?c=".($start+$perPage)."' class='largelink'>&gt;next</a>":"";
110
+
111
+
112
+
113
+ print $view_prev." ";
114
+
115
+ for($i=$start;$i<$start+$perPage;$i++){
116
+
117
+ if($i==$currentPage){
118
+
119
+ print "<span class='largelink'>{$i}</span> ";
120
+
121
+ }else{
122
+
123
+ print "<a href='?c={$i}'>{$i}</a> ";
124
+
125
+ }
126
+
127
+ }
128
+
129
+ print $view_next;
130
+
131
+
132
+
133
+ ```