1 | <?php |
---|
2 | /* |
---|
3 | * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved. |
---|
4 | * |
---|
5 | * http://www.lockon.co.jp/ |
---|
6 | */ |
---|
7 | |
---|
8 | /* ¢¨»ÈÍѾò·ï¢¨ |
---|
9 | ¡¦form¥¿¥°¤Ë°Ê²¼¤òÄɲ乤롣 |
---|
10 | <input type="hidden" name="pageno" value="<!--{$tpl_pageno}-->"> |
---|
11 | ¡¦¥½¡¼¥¹¤ÎºÇ½é¤Ë°Ê²¼¤òµ½Ò¤¹¤ë¡£ |
---|
12 | $objPage->tpl_pageno = $_POST['pageno']; |
---|
13 | ¡¦$func_name¤Ë»ØÄꤹ¤ëJavaScript¤ÎÎã |
---|
14 | // ¥Ú¡¼¥¸¥Ê¥Ó¤Ç»ÈÍѤ¹¤ë |
---|
15 | function fnNaviPage(pageno) { |
---|
16 | document.form1['pageno'].value = pageno; |
---|
17 | document.form1.submit(); |
---|
18 | } |
---|
19 | */ |
---|
20 | class SC_PageNavi { |
---|
21 | var $now_page; // ¸½ºß¤Î¥Ú¡¼¥¸ÈÖ¹æ |
---|
22 | var $max_page; // ºÇ½ª¤Î¥Ú¡¼¥¸ÈÖ¹æ |
---|
23 | var $start_row; // ³«»Ï¥ì¥³¡¼¥É |
---|
24 | var $strnavi; // ¥Ú¡¼¥¸Á÷¤êʸ»úÎó |
---|
25 | var $arrPagenavi = array(); // ¥Ú¡¼¥¸ |
---|
26 | |
---|
27 | // ¥³¥ó¥¹¥È¥é¥¯¥¿ |
---|
28 | function SC_PageNavi($now_page, $all_row, $page_row, $func_name, $navi_max = NAVI_PMAX) { |
---|
29 | $this->arrPagenavi['mode'] = 'search'; |
---|
30 | |
---|
31 | //¸½ºß¥Ú¡¼¥¸($now_page)¤¬Àµ¤·¤¤¿ôÃͤǤʤ¤¾ì¹ç |
---|
32 | if (!eregi("^[[:digit:]]+$", $now_page) || $now_page < 1 || $now_page == "") { |
---|
33 | $this->now_page = 1; |
---|
34 | } else { |
---|
35 | $this->now_page = $now_page; |
---|
36 | } |
---|
37 | $this->arrPagenavi['now_page'] = $this->now_page; |
---|
38 | |
---|
39 | // ºÇ½ª¥Ú¡¼¥¸¤Î·×»» |
---|
40 | $this->max_page = ceil($all_row/$page_row); |
---|
41 | |
---|
42 | // ºÇ½ª¥Ú¡¼¥¸¤è¤ê¤â¸½ºß¥Ú¡¼¥¸¤¬Â礤¤¾ì¹ç¤Ï¡¢ºÇ½é¤ËÌ᤹¡£ |
---|
43 | if($this->max_page < $this->now_page) { |
---|
44 | $this->now_page = 1; |
---|
45 | } |
---|
46 | |
---|
47 | $this->start_row = ($this->now_page - 1) * $page_row; |
---|
48 | |
---|
49 | // ³«»Ï¹Ô¤¬ÉÔÀµ¤Ê¾ì¹ç |
---|
50 | if (!($this->start_row < $all_row && $this->start_row >= 0)) { |
---|
51 | $this->start_row = 0; |
---|
52 | } |
---|
53 | |
---|
54 | if($all_row > 1) { |
---|
55 | |
---|
56 | //¡ÖÁ°¤Ø¡×¡Ö¼¡¤Ø¡×¤ÎÀßÄê |
---|
57 | if ($this->now_page > 1) { |
---|
58 | $before="<a href=\"". $_SERVER['PHP_SELF']. "\" onclick=\"$func_name('" . (($this->now_page) - 1) . "'); return false;\"><<Á°¤Ø</a> "; |
---|
59 | $this->arrPagenavi['before'] = ($this->now_page) - 1; |
---|
60 | }else{ |
---|
61 | $this->arrPagenavi['before'] = $this->now_page; |
---|
62 | } |
---|
63 | |
---|
64 | if ($this->now_page < $this->max_page) { |
---|
65 | $next="<a href=\"". $_SERVER['PHP_SELF']. "\" onclick=\"$func_name('" . (($this->now_page) + 1) ."'); return false;\">¼¡¤Ø>></a> "; |
---|
66 | $this->arrPagenavi['next'] = ($this->now_page) + 1; |
---|
67 | }else{ |
---|
68 | $this->arrPagenavi['next'] = $this->now_page; |
---|
69 | } |
---|
70 | |
---|
71 | // ɽ¼¨¤¹¤ëºÇÂç¥Ê¥Ó¿ô¤ò·è¤á¤ë¡£ |
---|
72 | if($navi_max == "" || $navi_max > $this->max_page) { |
---|
73 | // À©¸Â¥Ê¥Ó¿ô¤Î»ØÄ꤬¤Ê¤¤¡£¥Ú¡¼¥¸ºÇÂç¿ô¤¬À©¸Â¥Ê¥Ó¿ô¤è¤ê¾¯¤Ê¤¤¡£ |
---|
74 | $disp_max = $this->max_page; |
---|
75 | } else { |
---|
76 | // ¸½ºß¤Î¥Ú¡¼¥¸¡ÜÀ©¸Â¥Ê¥Ó¿ô¤¬É½¼¨¤µ¤ì¤ë¡£ |
---|
77 | $disp_max = $this->now_page + $navi_max - 1; |
---|
78 | // ¥Ú¡¼¥¸ºÇÂç¿ô¤òͤ¨¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢¥Ú¡¼¥¸ºÇÂç¿ô¤Ë¹ç¤ï¤»¤ë¡£ |
---|
79 | if($disp_max > $this->max_page) { |
---|
80 | $disp_max = $this->max_page; |
---|
81 | } |
---|
82 | } |
---|
83 | |
---|
84 | // ɽ¼¨¤¹¤ëºÇ¾®¥Ê¥Ó¿ô¤ò·è¤á¤ë¡£ |
---|
85 | if($navi_max == "" || $navi_max > $this->now_page) { |
---|
86 | // À©¸Â¥Ê¥Ó¿ô¤Î»ØÄ꤬¤Ê¤¤¡£¸½ºß¥Ú¡¼¥¸Èֹ椬À©¸Â¥Ê¥Ó¿ô¤è¤ê¾¯¤Ê¤¤¡£ |
---|
87 | $disp_min = 1; |
---|
88 | } else { |
---|
89 | // ¸½ºß¤Î¥Ú¡¼¥¸-À©¸Â¥Ê¥Ó¿ô¤¬É½¼¨¤µ¤ì¤ë¡£ |
---|
90 | $disp_min = $this->now_page - $navi_max + 1; |
---|
91 | } |
---|
92 | |
---|
93 | $this->arrPagenavi['arrPageno'] = array(); |
---|
94 | for ($i=$disp_min; $i <= $disp_max; $i++) { |
---|
95 | if($i != $disp_max) { |
---|
96 | $sep = " | "; |
---|
97 | } else { |
---|
98 | $sep = ""; |
---|
99 | } |
---|
100 | |
---|
101 | if ($i == $this->now_page) { |
---|
102 | $page_number .= "<strong>$i</strong> "; |
---|
103 | } else { |
---|
104 | $page_number.="<a href=\"". $_SERVER['PHP_SELF']. "\" onclick=\"$func_name('$i'); return false;\">$i</a> "; |
---|
105 | } |
---|
106 | |
---|
107 | $page_number.=$sep; |
---|
108 | |
---|
109 | $this->arrPagenavi['arrPageno'][$i] = $i; |
---|
110 | } |
---|
111 | |
---|
112 | if ($before || $next) { |
---|
113 | $this->strnavi = $before .$page_number .$next; |
---|
114 | } |
---|
115 | }else{ |
---|
116 | $this->arrPagenavi['arrPageno'][0] = 1; |
---|
117 | $this->arrPagenavi['before'] = 1; |
---|
118 | $this->arrPagenavi['next'] = 1; |
---|
119 | } |
---|
120 | } |
---|
121 | } |
---|
122 | |
---|
123 | ?> |
---|