> 백엔드 개발 > PHP 튜토리얼 > 求把版主这个分页种改成支持php4的

求把版主这个分页种改成支持php4的

WBOY
풀어 주다: 2016-06-13 12:44:14
원래의
1267명이 탐색했습니다.

求把版主这个分页类改成支持php4的
之前都是用版主的这个类来进行分页~~~但是最近有个服务器是php4版本~~查了一下资料~php4不支持public不支持static等一大堆~~~所以求高手指教~把下面这个分页类改成支持php4

ps:constant("page_size")是config文件中定义好的常量

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

<?php<br />

class paging {<br />

  public static $count = 0;<br />

  public static $size = 0;<br />

  public static $page = 0;<br />

  <br />

  <br />

  static function prepare($sql, $pagesize='') <br />

  { $pagesize=constant("page_size");<br />

    $page = isset($_GET['page']) ? $_GET['page'] : 1;<br />

    $pageon = ($page - 1) * $pagesize;<br />

    $sql = preg_replace('/select\s/i', '$0SQL_CALC_FOUND_ROWS ', $sql) . " limit $pageon, $pagesize";<br />

    $rs = mysql_query($sql);<br />

    $p = mysql_query('SELECT FOUND_ROWS()');<br />

    list(self::$count)= mysql_fetch_row($p);<br />

    self::$size= $pagesize=10;<br />

    self::$page = $page;<br />

    return $rs;<br />

  }<br />

  <br />

  <br />

  <br />

  static function bar($tpl='') {<br />

    if(!$tpl) $tpl = '<a href=?reset>首页</a> <a href=?prve>上一页</a> <a href=?next>下一页</a> <a href=?end>尾页</a>';<br />

    $count = ceil(self::$count / constant("page_size"));<br />

    $page = self::$page;<br />

    unset($_GET['page']);<br />

    $d = array(<br />

      'reset' => 1,<br />

      'prve' => $page > 1 ? $page - 1 : 1,<br />

      'next' => $page < $count ? $page + 1 : $count,<br />

      'end' => $count,<br />

    );<br />

    foreach($d as $k=>$v) {<br />

      $_GET['page'] = $v;<br />

      $tpl = str_replace($k, http_build_query($_GET), $tpl);<br />

    }<br />

    return $tpl."当前第".$page."页|共".$count."页";<br />

  }<br />

}<br />

/*<br />

<br />

把<br />

 $sql =".....";<br />

 $rs = mysql_query($sql);<br />

 或<br />

 $rs = mysql_query("select ....");<br />

之类的 <br />

改作<br />

 include 'paging.php';<br />

 $rs = paging::prepare($sql, 每页行数);<br />

 在需要出现分页条的地方写入<br />

 paging::bar();<br />

 <br />

就可以了<br />

<br />

<br />

*/<br />

?>

로그인 후 복사


------解决方案--------------------
php 4.3.4 通过
不知道你的版本,有问题再说

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

class paging {<br>

  //增加一个方法,用于在静态调用的方法间传递数据<br>

  function para($na) {<br>

    static $ar;<br>

    if(func_num_args() == 1) return $ar[$na];<br>

    $ar[$na] = func_get_arg(1);<br>

  }<br>

  function prepare($sql$pagesize='') {<br>

    $pagesize=constant("page_size");<br>

    $page = isset($_GET['page']) ? $_GET['page'] : 1;<br>

    $pageon = ($page - 1) * $pagesize;<br>

    $sql = preg_replace('/select\s/i''$0SQL_CALC_FOUND_ROWS '$sql) . " limit $pageon, $pagesize"; <div class="clear">

                  

               

               

         

            </div>

로그인 후 복사
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿