热搜:NVER node 开发 php

EasyUI DataGrid结合ThinkPHP实现增删改查操作初学者_html/css_WEB-ITnose

2024-11-10 18:25:01
EasyUI DataGrid结合ThinkPHP实现增删改查操作初学者_html/css_WEB-ITnose

EasyUI是基于jQuery的用户界面插件集合;DataGrid是数据表格;

ThinkPHP是快速、简单的基于MVC和面向对象的轻量级PHP开发框架。

使用的集成开发环境是 WAMPSever,(wampserver是一个集成了Apache、PHP和MySQL的开发套件,而且支持不同PHP版本、MySQL版本和Apache版本的切换)

效果如下

 

主要代码如下

 1、定义一个表格

     

ID Product Content

  class="easyui-datagrid"是easyui里面自定义的格式,data-options用来初始化属性,这里面的属性包括rownumbers显示行数,singleSelect表示行的选中状态;

url:'{U(read)}'首先,ThinkPHP的U方法(参考:http://www.thinkphp.cn/info/132.html)用来完成对URL地址的组装,在模板中的调用采用 {:U('地址', '参数'…)} 的方式,其次,EasyUI采用的数据格式是json,控制器里面的read方法输出一个json格式的数据。toolbar:'#tb'这个是表格的工具栏,就是增加、删除和修改。

定义表格的工具栏如下:

                         

注意:这里面的id要和 toolbar:'#tb' 相对应;

2、点击增加和修改的时候要弹出一个对话框,代码如下:

           Information       
Product:
Content:

class='easyui-dialog'定义了一个对话框,因为要和后台交互,在这个对话框里面装了一个form,里面的input元素有些需要进行验证,required="true"表示必须填写元素

class="easyui-validatebox"定义了验证失败后的提示,buttons="#dlg-buttons"表示这个对话框下面的两个确认,取消按钮。novalidate表示不验证。

对话框中的按钮:

        Save        Cancel

3、页面js函数

  

JS还不是很会,所以参考了网上的代码。 $.messager.show是EasyUI提供的消息提示框(参考:http://www.jeasyui.net/demo/371.html),可以在屏幕右下角显示一个消息窗口。$.messager.confirm是交互式消息,弹出一个消息确认框。

4、控制器里面的代码(IndexAction.class.php)

<?php// 本类由系统自动生成,仅供测试用途class IndexAction extends Action {    public function index(){      $this->display();    }      publicfunction read(){
$Test = M('test');        /*$Total = $Test->count();        $Json = '{"total":'.$Total.',"rows":'.json_encode($Test->select()).'}';*/        $Json = json_encode($Test->select());        echo $Json;
 }     public function insert(){        $data = $this->_post();        $Test = M('Test');        $result = $Test->add($data);        if($result)    {            echo json_encode(array('success'=>true));        }else {            echo json_encode(array('msg'=>'Some error occured'));            }      }    public function update($ID=0){       $Test  =   M('test');       $ID = $_GET['ID'];       if($Test->create()) {           $Test->ID = $ID;        $result  =   $Test->save();        if($result)    {            echo json_encode(array('success'=>true));        }else {            echo json_encode(array('msg'=>'Some error occured'));            }        }else{              $this->error($Test->getError());         }     }      public function delete($ID=0){         $result = false;         $Test = M('test');         $result = $Test->where('ID='.$ID)->delete();         if($result==false){             echo json_encode(array('msg'=>'删除出错!'));         }else{             echo json_encode(array('success'=>true));         }     }     }?>