首页 后端开发 php教程 Ecmall自带的分页功能的源码实现_PHP教程

Ecmall自带的分页功能的源码实现_PHP教程

Jul 13, 2016 am 10:33 AM
分页

在Ecmall的二次开发中,分页是必不可少的。这个系统已经自带了分页功能,下面来看看如何使用这个分页。

下面是一个自定义的类,用于查看订单的详细情况。关键在于get_order_data()这个方法,分页的使用也在这个方法的内部了。应该有的注释都有了,应该会比较容易懂,我不就多说了。

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

<?php

define('NUM_PER_PAGE', 15);        // 每页显示数量

class NowaMagicApp extends MallbaseApp 

    public function index() 

    {

        /* 分页信息 */

        $page = $this->_get_page(NUM_PER_PAGE);

        $page['item_count'] = $stats['total_count'];

        $this->_format_page($page);

        $this->assign('page_info', $page);

        $this->display('gorder.index.html');  

    

     

    /* 订单记录 */

    function orderslog()

    {

        $goods_id = empty($_GET['id']) ? 0 : intval($_GET['id']);

        if (!$goods_id)

        {

            $this->show_warning('Hacking Attempt');

            return;

        }

         

        $data = $this -> get_order_data($goods_id);

         

        if ($data === false)

        {

            return;

        }

         

        $this->assign('order', $data);

        $this->display('gorder.index.html');

    }

     

    function get_order_data($goods_id)

    {

        //clean_cache();

        $cache_server =& cache_server();

        //print_r($cache_server);

        $key = 'order_' . $goods_id;

        //$key = $this->_get_cache_id();

        $r = $cache_server->get($key);

        $cached = true;

         

        $db = &db();

         

        $sql = "select count(*)

                from shop_order a, shop_order_extm b, shop_order_goods c

                where a.order_id = b.order_id and b.order_id = c.order_id

                and c.goods_id = '".$goods_id."'

                and a.status != '11'

                and a.status != '0'

                and a.status != '20'

                order by a.add_time desc ";

        //echo $sql;

        $num = $db -> getone($sql);              //求出总记录数

        $page = $this->_get_page(NUM_PER_PAGE);  //每页显示的条数,默认是10条

        $page['item_count'] = $num;             // 返回一个数组$page,$page['limit']=0,10

        $this->_format_page($page);              //格式化分页

         

        $sql2 = "select a.order_id, a.buyer_name, a.add_time, a.status, b.phone_tel, b.phone_mob, b.consignee, c.price, c.quantity, c.goods_id

                from shop_order a, shop_order_extm b, shop_order_goods c

                where a.order_id = b.order_id and b.order_id = c.order_id

                and c.goods_id = '".$goods_id."'

                and a.status != '11'

                and a.status != '0'

                and a.status != '20'

                order by a.add_time desc limit ".$page['limit'];

         

        $result = $db -> query($sql2);

         

        $this -> assign('page_info',$page);  //向模板页传递页数

        $this -> assign('que',$sql2);    //向模板页传递查询结果

         

        //$r = array();

        while($myrow = $db -> fetch_array($result))

        {

            $r[] = $myrow;

        }

        $cache_server->set($key, $r, 1);

        return $r;

    }

     

}

?>

登录后复制

简化如下:

1

2

3

4

5

6

7

8

9

10

11

12

Define("LIMIT",10);

$goods_mod = & db('test');//构建实体模型(操作表)

$count = 'select count(id) from test';

$num = $goods_mod -> getone($count);//求出总记录数

 

$page = $this->_get_page(LIMIT);//每页显示的条数,默认是10条

$page['item_count'] = $num;// 返回一个数组$page,$page['limit']=0,10

$this->_format_page($page);//格式化分页

$sql = 'select id,title,content from test order by id desc limit '.$page['limit'];

$que = $goods_mod -> getAll($sql);//查询记录

$this -> assign('page_info',$page); //向模板页传递页数

$this -> assign('que',$que); //向模板页传递查询结果

登录后复制

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/752566.htmlTechArticle在Ecmall的二次开发中,分页是必不可少的。这个系统已经自带了分页功能,下面来看看如何使用这个分页。 下面是一个自定义的类,用于查...
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

两个点博物馆:邦格荒地地点指南
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

两个点博物馆:邦格荒地地点指南
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何在CakePHP中创建自定义分页? 如何在CakePHP中创建自定义分页? Jun 04, 2023 am 08:32 AM

如何在CakePHP中创建自定义分页?

PHP开发:如何实现表格数据排序和分页功能 PHP开发:如何实现表格数据排序和分页功能 Sep 20, 2023 am 11:28 AM

PHP开发:如何实现表格数据排序和分页功能

如何使用 JavaScript 实现表格分页功能? 如何使用 JavaScript 实现表格分页功能? Oct 20, 2023 pm 06:19 PM

如何使用 JavaScript 实现表格分页功能?

使用JavaScript实现表格数据的分页显示 使用JavaScript实现表格数据的分页显示 Jun 16, 2023 am 10:00 AM

使用JavaScript实现表格数据的分页显示

Vue组件实战:分页组件开发 Vue组件实战:分页组件开发 Nov 24, 2023 am 08:56 AM

Vue组件实战:分页组件开发

Vue技术开发中如何实现分页功能 Vue技术开发中如何实现分页功能 Oct 09, 2023 am 09:06 AM

Vue技术开发中如何实现分页功能

MyBatis分页插件原理详解 MyBatis分页插件原理详解 Feb 22, 2024 pm 03:42 PM

MyBatis分页插件原理详解

VUE3开发入门教程:使用组件实现分页 VUE3开发入门教程:使用组件实现分页 Jun 16, 2023 am 08:48 AM

VUE3开发入门教程:使用组件实现分页

See all articles