ThinkPHP3.2分页显示,超详细,超简单

第一步:导入类

下载AjaxPage.class.php

我这里的提供的是之前3.1时候用的,在3.2用的时候需要在类里面加个命名空间

Paste_Image.png

这个类放在ThinkPHP-Library-Org-Util路径下

Paste_Image.png

第二步:php里该写的代码

ProductController是我建的产品类

01classProductController extendsPublicController{

02 

03    publicfunctionindex()

04    {

05        //导入三方库

06 

07        // 查询满足要求的总记录数

08        $count= $this->model->count();

09 

10        //创建对象,指定对象执行的方法

11        $Page= new\Org\Util\AjaxPage($count,7,"productPage");//productPage是调用js中方法,通过该方法给js传递页码值,7代表一页显示7条数据

12 

13        // 实例化分页类 传入总记录数和每页显示的记录数

14        $show= $Page->show();// 分页显示输出

15        // 进行分页数据查询 注意limit方法的参数要使用Page类的属性

16        $list= $this->model->order('id asc')->limit($Page->firstRow.','.$Page->listRows)->select();

17 

18 

19        //判断是不是ajax,

20        if(!IS_AJAX){

21 

22            $this->assign('result',$list);// 赋值数据集

23            $this->assign('page',$show);// 赋值分页输出

24            $this->view(); // 输出模板

25 

26        }else{

27 

28            $data['result']=$list;

29            $data['page'] = $show;

30            $this->ajaxReturn($data);

31        }

32    }

33 

34    //编辑产品

35    publicfunctionedit(){

36 

37        //进入编辑页面,显示待编辑的信息

38        if(!empty($_GET)){

39            $result= $this->model->where($_GET)->find();

40            $this->assign('result',$result);

41        }

42        //编辑完提交,保存,跳转回首页

43        if(!empty($_POST)){

44 

45            $id= $_POST['id'];

46            $result= $this->model->where("id=$id")->save($_POST);

47            //0表示保存失败

48            if($result!= 0){

49                redirect('index');

50            }

51        }

52        $this->view();

53    }

54 

55    //删除产品

56    publicfunctiondelete(){

57 

58        $id= $_GET['id'];

59        $result= $this->model->where("id=$id")->delete();

60        if($result!= 0){

61            $this->redirect('index');

62        }

63    }

64}

3.2的写法

3.1的写法

page输出显示是这样的

result输出显示是这样的

第三步:html该写的代码,把assign过来的数据赋值到td上

下面是对应的代码

01

02    

03        

04            NO

05            产品名称                       

06            单价

07            备注

08            操作

09        

10    

11    

12        

13            

14                {$val.no}

15                {$val.pro_name}

16                {$val.price}

17                {$val.remark}

18                

19                    编辑

20                    删除

21                

22            

23        

24    

25

26

27    

28        {$page}

29    

30

解释下关键代码:

这里设置个id,在js里面会用到

foreach为tp的标签,遍历数组用的,name对应数据源,item是循环变量

编辑edit是写在js里的方法,根据id编辑内容

删除del是写在js里的方法,根据id删除内容

{$page}是显示1,2,3分页码的,这个class类后面js会用到

第四步:完成前三步,首页的信息肯定可以显示出来了,但是点击页码没有反应,这时候,我们需要在js里面请求新的数据

01

02    //点击页码,重新请求数据

03    functionproductPage(id) {

04 

05        varurl = '';

06        url = '__APP__/home/product/index/p/'+id;

07 

08        $.get(url,function(content) {

09 

10            //重写html代码

11            //将pagination div重写一遍

12            //将json转成对象类型

13            //var data = eval('('+content+')');  //强制将json转成对象类型

14            vardata = content;

15 

16            //输出页码

17            $('.pagination').html(data.page);

18 

19            varl = '';

20            for(vari = 0; i < data.result.length; i++){

21 

22                l += '';

23                l +=    ''+ data.result[i].no +'';

24                l +=    ''+ data.result[i].pro_name +'';

25                l +=    ''+ data.result[i].price +'';

26                l +=    ''+ data.result[i].remake +'';

27                l +=    '编辑删除';

28                l += '';

29            }

30            //重新输出整个表格

31            $('#neirong').html(l);

32        });

33    }

34 

35    //点击编辑按钮

36    functionedit(id) {

37        window.location.href='__APP__/home/product/edit/id/'+id;

38    }

39 

40    //点击删除按钮

41    functiondel(id) {

42        if(confirm("您确定要删除么!")){

43            window.location.href='__APP__/home/product/delete/id/'+id;

44        }

45    }

46

解释下关键代码:

function productPage(id) {这是我们php代码$Page = new \Org\Util\AjaxPage($count,7,"productPage")里的方法

url = '__APP__/home/product/index/p/'+id;p参数为页码,

//var data = eval('('+content+')'); //强制将json转成对象类型这里是注释,没错.建议在这步alert一下content,看看有没有数据,没有就打开这段代码试试.

本文标题:ThinkPHP3.2分页显示,超详细,超简单

固定链接:http://www.tcode.me/article/751.html来自淘代码转载请注明

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,383评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,522评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,852评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,621评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,741评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,929评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,076评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,803评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,265评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,582评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,716评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,395评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,039评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,027评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,488评论 2 361
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,612评论 2 350

推荐阅读更多精彩内容