整合Thinkphp数据库基本操作CURD,界面datagrid采用EasyUi的Demo
1 <?php
2 class CurdAction extends Action{
3 public function del($id){
4 $result=false;
5 $User=M("user");
6 $result=$User->Where('id='.$id)->delete();
7 if($result==false){
8 echo json_encode(array('msg'=>'删除出错!'));
9 }else{
10 echo json_encode(array('success'=>true));
11 }
12 }
13 public function save($id){
14 $result=false;
15 $User = M("User");
16 $data['firstname'] = $_REQUEST['firstname'];
17 $data['lastname'] = $_REQUEST['lastname'];
18 $data['phone'] = $_REQUEST['phone'];
19 $data['email'] = $_REQUEST['email'];
20 $result=$User->where('id='.$_REQUEST['id'])->save($data);
21 if($result==true){
22 echo json_encode(array('success'=>true));
23 }else{
24 echo json_encode(array('msg'=>'更新出错!'));
25 }
26 }
27
28 public function add(){
29 $result=false;
30 $User=M("User");
31 $data['firstname'] = $_REQUEST['firstname'];
32 $data['lastname'] = $_REQUEST['lastname'];
33 $data['phone'] = $_REQUEST['phone'];
34 $data['email'] = $_REQUEST['email'];
35 $result=$User->add($data);
36 if($result==true){
37 echo json_encode(array('success'=>true));
38 }else{
39 echo json_encode(array('msg'=>'添加出错!'));
40 }
41 }
42
43 public function read(){
44 $pagenum=isset($_POST['page']) ? intval($_POST['page']) : 1;
45 $rowsnum=isset($_POST['rows']) ? intval($_POST['rows']) : 10;
46 $User=M("User");
47 $total = $User->count(); //计算总数
48 $userlist=array();
49 $userlist=$User->limit(($pagenum-1)*$rowsnum.','.$rowsnum)->order('id asc')->select();
50 $json='{"total":'.$total.',"rows":'.json_encode($userlist).'}';//重要,easyui的标准数据格式,数据总数和数据内容在同一个json中
51 echo $json;
52 }
53 }
54 ?>
以上是PHP源代码CurdAction.class.php,以下是datagrid界面
整合Thinkphp数据库基本操作CURD,界面datagrid采用EasyUi的Demo的更多相关文章
- ThinkPHP的基本操作
一.生成入口文件 1.打开服务器,在本地环境测试时在地址栏输入localhost/项目文件名/index.php 可以在Application下面生成一个home模块,记得在这之前,要建立一个项目文 ...
- ThinkPHP 数据库操作(五) : 存储过程、数据集、分布式数据库
存储过程 5.0支持存储过程,如果我们定义了一个数据库存储过程 sp_query ,可以使用下面的方式调用: $result = Db::query('call sp_query(8)'); 返回的是 ...
- 基于SqlSugar的开发框架循序渐进介绍(15)-- 整合代码生成工具进行前端界面的生成
在前面随笔<基于SqlSugar的开发框架循序渐进介绍(12)-- 拆分页面模块内容为组件,实现分而治之的处理>中我们已经介绍过,对于相关的业务表的界面代码,我们已经尽可能把不同的业务逻辑 ...
- Spring Boot入门教程2-1、使用Spring Boot+MyBatis访问数据库(CURD)注解版
一.前言 什么是MyBatis?MyBatis是目前Java平台最为流行的ORM框架https://baike.baidu.com/item/MyBatis/2824918 本篇开发环境1.操作系统: ...
- ThinkPHP 数据库操作(一) : 连接数据库
ThinkPHP内置了抽象数据库访问层,把不同的数据库操作封装起来,我们只需要使用公共的Db类进行操 作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库驱动来处理.采用 P ...
- Flask数据库基本操作
数据库基本操作 在Flak-SQLAlchemy中,插入.修改.删除操作,均由数据库会话管理. 会话用db.session表示.在准备把数据写入数据库前,需要先将数据添加到会话中然后调用commit( ...
- Django/MySql数据库基本操作&ORM操作
数据库配置: #第一步在settings里面 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME':'dbna ...
- 10款最好用的MySQL数据库客户端图形界面管理工具
MySQL Workbench 该工具由MySQL开发,是一个跨平台的可视化数据库设计工具.它是DBDesigner4项目备受期待的替代者,它是一个本地图形化工具,支持的操作系统包括Windows.L ...
- ecmall数据库基本操作
ecmall数据库基本操作,为了认真研究ecmall二次开发,我们必须熟悉ecamll的数据库结构,ecmall数据库结构研究熟悉之后,才能去认真分析ecamll的程序结构.从而实现ecmall二次开 ...
随机推荐
- 如何判断一个请求是不是ajax请求
原文:http://blog.csdn.net/easy_is_good/article/details/53609057 public boolean isAjaxRequest(HttpServl ...
- iOS 常用的#define合集
1.定义常量 定义常量的时候最好以小写字母k开头,让人见名知意, (1)导航栏高度:我们都知道iPhone竖屏时候导航栏的高度为44,这时候可以定义一个常量来表示该高度, #define kNaivg ...
- Activiti 5.22 spring
<!-- activiti依赖 --> <dependency> <groupId>org.activiti</groupId> <artifac ...
- [Git] Git 的origin和master分析
转载: http://lishicongli.blog.163.com/blog/static/1468259020132125247302/ 首先要明确一点,对git的操作是围绕3个大的步骤来展开的 ...
- IE漏洞调试之CVE-2013-3893
前言 Windows平台的漏洞挖掘和安全研究中,IE始终是绕不开的话题.IE漏洞就跟adobe系列一样经典,是学习exploit.shellcode的绝佳途径. 在IE漏洞中,UAF即Use-Afte ...
- <img>元素底部为何有空白及其解决方案
一.为什么<img>元素底部会有空白? 要理解这个问题,首先要弄明白CSS对于 display: inline 元素的 vertical-align 各个值的含义.vertical-ali ...
- ./test.sh . ./test.sh source ./test.sh的区别
背景 今天写几个shell脚本,使用一个公共的config.sh,但是export出来的东西在另外的*.sh中不能直接用,这让我很惆怅,印象中就是可以export出来给别的shell用啊,只要不是下一 ...
- Python——在Unicode和普通字符串之间转换
1.1. 问题 Problem You need to deal with data that doesn't fit in the ASCII character set. 你需要处理不适合用ASC ...
- lodash _.size
返回collection(集合)的长度,如果集合是类数组或字符串,返回其 length :如果集合是对象,返回其可枚举属性的个数. _.size([1, 2, 3]); // => 3 _.si ...
- HTML ui ol dl
<!-- 超链接target的属性 _blank 在新窗体中打开被链接文档. _self 默认. 在同样的框架中打开被链接文档. _parent 在父框架集中打开被链接文档. _top 在整个窗 ...