首页 > 代码库 > php分页

php分页

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<!--?php

        require_once ‘include/showbbsProcess.php‘;

        require_once ‘include/showbbs_fun.php‘;    

        @$connectmysql=new connectMysql();

         

        if (empty($_GET[‘CurrentPageID‘])){

            $CurrentPageID=1;//当前是第几页

        }else {

            $CurrentPageID=$_GET[‘CurrentPageID‘];

        }

         

        $PageSize=5;

        echo showCenter($CurrentPageID, $PageSize, $connectmysql);

        ?-->


分页处理函数 showbbsProcess.php

?

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

<!--?php

function showCenter($CurrentPageID,$PageSize=5,$connectmysql){

    $arr=showbbs($PageSize, $CurrentPageID, $connectmysql);

    foreach ($arr as $values){

        for ($i=0;$i<count($arr);$i++){

            echo ‘‘.$arr[$i][‘title‘].‘‘.‘ ‘.‘<span style="float:right;font-size:12px;">作者:‘.$arr[$i][‘poster‘].‘ ‘.‘发布时间:‘.$arr[$i][‘posted‘].‘</span><br><hr>‘;

            //如果遍历完$arr数组里的所以元素,即$i($i从0开始)等于数组的元素个数减一,则跳出2层循环(for循环和foreach循环)

            if ($i==(count($arr)-1))

                break 2;

        }

    }

     

    $RowCount=getRowCount($connectmysql);//一共有多少条记录

     

    $PageCount=ceil($RowCount/$PageSize);//共有几页,ceil()函数进一取整

     

    echo ‘帖子统计:‘.$RowCount.‘条‘.‘ ‘.‘共有‘.$PageCount.‘页 ‘;

     

    //当为第一页时不输出“上一页”

    if ($CurrentPageID != 1){

        echo "上一页";

    }

     

    //向前跳页

    if ($CurrentPageID > 2){

        echo " <<< ";

    }

     

    //输出详细的页数,如:【1】

    for ($j=1;$j<=$PageCount;$j++){

        echo "[$j]";

    }

     

    //向后跳页

    if ($CurrentPageID <= ($PageCount-2)){

        echo " >>> ";

    }

     

    //当为最后一页时不输出“下一页”

    if ($CurrentPageID != $PageCount){

        echo "下一页";

    }

     

    $connectmysql->closeConn();

}


数据库沟通的函数 showbbs_fun.php

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<!--?php

require_once ‘/class/connectMysql.php‘;

 

//该函数用来获取数据库中的数据并返回一个二维数组

function showbbs($PageSize,$CurrentPageID,$connectmysql){

    $a=($CurrentPageID - 1)*$PageSize;

    $sql="select * from db_content limit $a,$PageSize";

    $arr1=$connectmysql->getRowsArray($sql);

    return $arr1;

}

 

//该函数用来查询数据库的表的行数

function getRowCount($connectmysql){

    $sql="select * from db_content";

    $num=$connectmysql->getRowsNum($sql);

    return $num;

}


数据库类 connectMysql.php

?

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

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

<!--?php

/***

 * 这个类用于处理数据库连接相关操作

 */

class connectMysql{

    private $host=‘localhost‘;

    private $username=‘root‘;

    private $password=‘szy19900316‘;

    private $dbname=‘db_caomei‘;

    private $conn=‘‘;//数据库连接资源

    private $result=‘‘;//查询的结果

    private $resultArray;//将查询的结果输出为一个单条记录的数组

    private $rowsArray=array();//含有多条记录的二维数组

    private $rowsNum=0;//返回的结果数

     

    function __construct(){

    }

     

    //连接数据库

    function conndb(){

        $this--->conn=mysql_connect($this->host,$this->username,$this->password);

        @mysql_select_db($this->dbname,$this->conn);

        mysql_query(‘set names utf-8‘);

    }

     

    //查询结果

    function getResult($sql){

        if ($this->conn==‘‘){

            $this->conndb();

        }

        $this->result=mysql_query($sql,$this->conn);

    }

     

    //返回查询的记录数

    function getRowsNum($sql){

        $this->getResult($sql);

        $num_rows=mysql_num_rows($this->result);

        if (mysql_errno()==0){

            return $num_rows;

        }else {

            return ‘‘;

        }

    }

     

    //将结果输出为一个单条记录数组并返回

    function getArray($sql){

        $this->getResult($sql);

        if (mysql_errno()==0){

            $this->resultArray=mysql_fetch_array($this->result,MYSQL_ASSOC);//得到关联数组

            return $this->resultArray;

        }else {

            return ‘‘;

        }

    }

     

    //返回一个含有多条记录的二维数组

    function getRowsArray($sql){

        $this->getResult($sql);

        if (mysql_errno()==0){

            while ($row=mysql_fetch_array($this->result,MYSQL_ASSOC)){

                $this->rowsArray[]=$row;

            }

            return $this->rowsArray;

            //print_r($this->rowsArray);exit;

        }else {

            return ‘‘;

        }

    }

 

    //更新、添加、删除

    function uidresult($sql){

        if ($this->conn==‘‘){

            $this->conndb();

        }

        //echo $sql;

        //exit;

        @mysql_query($sql);

        $this->rowsNum=@mysql_affected_rows();

        if (mysql_errno()==0){

            return $this->rowsNum;

        }else {

            return ‘‘;

        }

    }

     

    //释放结果集

    function freeResult(){

        mysql_free_result($this->result);

        $this->rowsNum=0;

        $this->rowsArray=‘‘;

        $this->resultArray=‘‘;

    }

     

    //关闭数据库

    function closeConn(){

        $this->freeResult();

        mysql_close($this->conn);

        $this->conn=‘‘;

    }

}