回答編集履歴
2
修正
answer
CHANGED
@@ -39,14 +39,14 @@
|
|
39
39
|
$lastPage=20;
|
40
40
|
$perPage=6;
|
41
41
|
$bigMove=true;
|
42
|
-
$pager_first=
|
42
|
+
$pager_first=false;
|
43
|
-
$pager_last=
|
43
|
+
$pager_last=false;
|
44
44
|
if(ceil($perPage/2) >= $currentPage ){
|
45
45
|
$start=1;
|
46
|
-
$pager_first=
|
46
|
+
$pager_first=true;
|
47
47
|
}elseif(floor(($perPage)/2) >= $lastPage - $currentPage ){
|
48
48
|
$start=$lastPage - $perPage +1;
|
49
|
-
$pager_last=
|
49
|
+
$pager_last=true;
|
50
50
|
}else{
|
51
51
|
$start=$currentPage-ceil($perPage/2) +1;
|
52
52
|
}
|
1
sample
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<</a>":"";
|
55
|
+
$view_next=($bigMove and !$pager_last)?"<a href='?c=".($start+$perPage)."' class='largelink'>>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
|
+
```
|