ThinkPHP学习教程-增删改查操作[附源码]
2013-01-31 10:17
225 查看
项目测试环境:
Window XP sp3
WAMP(httpd-2.2.19-win32-x86-no_ssl.msi、mysql-5.1.57-win32.msi、php-5.2.17-Win32-VC6-x86.zip)
ThinkPHP_3.0_Full.7z
创建数据库和数据表;(没有数据库操作可略过)
项目命名并创建项目入口文件;
完成项目配置;(无需额外配置可以忽略)
创建控制器类;
创建模型类;(如果只是简单的模型类可以不必创建)
创建模板文件;
运行和调试。
[align=left]1、创建数据库和数据表[/align]
数据库名称think_example:
CREATE TABLE `think_blog` (
`id` int(11) unsigned NOT NULL auto_increment,
`title` varchar(32) NOT NULL default '',
`content` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
2、创建项目
在apache DocumentRoot 所在目录下创建应用(注:这里根据测试环境会有不同 例如我的D:\dev\apache\htdocs\),项目名thinkphpLearing,同时将ThinkPHP核心拷贝到thinkphpLearing下,接着新建入口文件index.php
[align=left]<?php[/align]
[align=left]/*[/align]
[align=left] * Created on 2013-1-30[/align]
[align=left] *[/align]
[align=left] * email study@hacktea8.com[/align]
[align=left] * [/align]
[align=left] */[/align]
[align=left] // 定义ThinkPHP框架路徂[/align]
[align=left]define('THINK_PATH', './ThinkPHP/');[/align]
[align=left]//定义项目名称和路徂[/align]
[align=left]define('APP_NAME', 'thinkphpLearing');[/align]
[align=left]define('APP_PATH', '.');[/align]
[align=left]// 加载框架入口文件[/align]
[align=left]require(THINK_PATH."/ThinkPHP.php");[/align]
[align=left]//实例化一个网站应用实例[/align]
[align=left]App::run();[/align]
?>
访问成功后,看到成功页面:
3、项目配置
在自动生成的目录下面,已经创建了一个空的项目配置文件,.Conf/config.php
打开增加项目配置信息:
[align=left]<?php[/align]
[align=left]return array([/align]
[align=left] //'配置项'=>'配置值'[/align]
[align=left] 'APP_DEBUG' => true, // 开启调试模式 [/align]
[align=left] 'DB_TYPE'=> 'mysql', // 数据库类型 [/align]
[align=left] 'DB_HOST'=> 'localhost', // 数据库朋务器地址 [/align]
[align=left] 'DB_NAME'=>'think_example', // 数据库名称 [/align]
[align=left] 'DB_USER'=>'root', // 数据库用户名 [/align]
[align=left] 'DB_PWD'=>'root', // 数据库密码 [/align]
[align=left] 'DB_PORT'=>'3306', // 数据库端口 [/align]
[align=left] 'DB_PREFIX'=>'think_', // 数据表前缀 [/align]
[align=left] 'DEFAULT_THEME'=>'DEFAULT',//如果有多个模板主题的话,可以用DEFAULT_THEME 参数设置默认的模板主题名。[/align]
[align=left] 'TMPL_L_DELIM'=>'<{',//项目的标签左分隔符[/align]
[align=left] 'TMPL_R_DELIM'=>'}>',//项目的标签右分隔符[/align]
[align=left] [/align]
[align=left]);[/align]
?>
4、增加业务逻辑(增加为例)
.Lib/Action下,自动生成的IndexAction.class.php(控制器),注释(或者删除)掉当前的index方法,添加新的insert、delete、update、query、index方法:
[align=left]<?php[/align]
[align=left]// 本类由系统自动生成,仅供测试用途[/align]
[align=left]class IndexAction extends Action {[/align]
[align=left] public function index(){[/align]
[align=left] //默认界面[查询界面][/align]
[align=left] $Mblog = M('blog'); // 实例化模型类 [/align]
[align=left] //$Mblog->Create();[/align]
[align=left] $list = $Mblog->select(); // 查询数据 [/align]
[align=left] $this->assign('list', $list); // 模板发量赋值 [/align]
[align=left]// echo "<pre>";[/align]
[align=left]// var_dump($list);exit;[/align]
[align=left] $this->display('index'); // 输出模板 [/align]
[align=left] exit;[/align]
[align=left] }[/align]
[align=left] public function insert(){[/align]
[align=left] //添加的动作[/align]
[align=left] $Mblog=M('blog');//实例化模型类[/align]
[align=left] //$data=array('title'=>$_POST['title'],'content'=>$_POST['content']);[/align]
[align=left] $Mblog->create();[/align]
[align=left] //var_dump($data);exit;[/align]
[align=left] $insertid=$Mblog->add();[/align]
[align=left] $this->assign('lastid',$insertid);[/align]
[align=left] //var_dump($insertid);exit;[/align]
[align=left] $this->redirect('index');//成功后重定向到index页面[/align]
[align=left] exit;[/align]
[align=left] }[/align]
[align=left] public function delete(){[/align]
[align=left] //删除的动作[/align]
[align=left] $Mblog=M('blog');//实例化模型类[/align]
[align=left] $where='id='.$_GET['id'];[/align]
[align=left] $Mblog->where($where)->delete();[/align]
[align=left] $this->redirect('index');//操作成功重定向到index模板[/align]
[align=left] exit;[/align]
[align=left] }[/align]
[align=left] public function edite(){[/align]
[align=left] //更新的界面[/align]
[align=left] $where='id='.$_GET['id'];[/align]
[align=left] $Mblog=M('blog');[/align]
[align=left] $list=$Mblog->where($where)->select();[/align]
[align=left]// echo "<pre>";[/align]
[align=left]// var_dump($list);exit;[/align]
[align=left] $this->assign('info',$list);[/align]
[align=left] $this->display();[/align]
[align=left] exit;[/align]
[align=left] }[/align]
[align=left] public function update(){[/align]
[align=left] //更新的动作[/align]
[align=left] $Mblog=M('blog');[/align]
[align=left] $Mblog->create();[/align]
[align=left] $status=$Mblog->save();[/align]
[align=left] if($status>0){[/align]
[align=left] //更新成功[/align]
[align=left] $this->redirect('index');[/align]
[align=left] }else{[/align]
[align=left] //更新失败[/align]
[align=left] $this->redirect('edite');[/align]
[align=left] }[/align]
[align=left] exit;[/align]
[align=left] }[/align]
}
5、增加业务逻辑对应模板
6、测试例子是否正常
经测试都正常[添加、删除、更新操作]
Tips:如果在测试过程中出现错误,请删除.Runtime/~runtime.php文件在测试
【源码】
thinkphpLearing
原文出处:
http://www.hacktea8.com/read.php?tid-1545-ds-1.html
Window XP sp3
WAMP(httpd-2.2.19-win32-x86-no_ssl.msi、mysql-5.1.57-win32.msi、php-5.2.17-Win32-VC6-x86.zip)
ThinkPHP_3.0_Full.7z
Eclipse PHP Studio (EPP) 中文版
[align=left]使用ThinkPHP创建应用的一般开发流程是:[/align]创建数据库和数据表;(没有数据库操作可略过)
项目命名并创建项目入口文件;
完成项目配置;(无需额外配置可以忽略)
创建控制器类;
创建模型类;(如果只是简单的模型类可以不必创建)
创建模板文件;
运行和调试。
[align=left]1、创建数据库和数据表[/align]
数据库名称think_example:
CREATE TABLE `think_blog` (
`id` int(11) unsigned NOT NULL auto_increment,
`title` varchar(32) NOT NULL default '',
`content` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
2、创建项目
在apache DocumentRoot 所在目录下创建应用(注:这里根据测试环境会有不同 例如我的D:\dev\apache\htdocs\),项目名thinkphpLearing,同时将ThinkPHP核心拷贝到thinkphpLearing下,接着新建入口文件index.php
[align=left]<?php[/align]
[align=left]/*[/align]
[align=left] * Created on 2013-1-30[/align]
[align=left] *[/align]
[align=left] * email study@hacktea8.com[/align]
[align=left] * [/align]
[align=left] */[/align]
[align=left] // 定义ThinkPHP框架路徂[/align]
[align=left]define('THINK_PATH', './ThinkPHP/');[/align]
[align=left]//定义项目名称和路徂[/align]
[align=left]define('APP_NAME', 'thinkphpLearing');[/align]
[align=left]define('APP_PATH', '.');[/align]
[align=left]// 加载框架入口文件[/align]
[align=left]require(THINK_PATH."/ThinkPHP.php");[/align]
[align=left]//实例化一个网站应用实例[/align]
[align=left]App::run();[/align]
?>
访问成功后,看到成功页面:
3、项目配置
在自动生成的目录下面,已经创建了一个空的项目配置文件,.Conf/config.php
打开增加项目配置信息:
[align=left]<?php[/align]
[align=left]return array([/align]
[align=left] //'配置项'=>'配置值'[/align]
[align=left] 'APP_DEBUG' => true, // 开启调试模式 [/align]
[align=left] 'DB_TYPE'=> 'mysql', // 数据库类型 [/align]
[align=left] 'DB_HOST'=> 'localhost', // 数据库朋务器地址 [/align]
[align=left] 'DB_NAME'=>'think_example', // 数据库名称 [/align]
[align=left] 'DB_USER'=>'root', // 数据库用户名 [/align]
[align=left] 'DB_PWD'=>'root', // 数据库密码 [/align]
[align=left] 'DB_PORT'=>'3306', // 数据库端口 [/align]
[align=left] 'DB_PREFIX'=>'think_', // 数据表前缀 [/align]
[align=left] 'DEFAULT_THEME'=>'DEFAULT',//如果有多个模板主题的话,可以用DEFAULT_THEME 参数设置默认的模板主题名。[/align]
[align=left] 'TMPL_L_DELIM'=>'<{',//项目的标签左分隔符[/align]
[align=left] 'TMPL_R_DELIM'=>'}>',//项目的标签右分隔符[/align]
[align=left] [/align]
[align=left]);[/align]
?>
4、增加业务逻辑(增加为例)
.Lib/Action下,自动生成的IndexAction.class.php(控制器),注释(或者删除)掉当前的index方法,添加新的insert、delete、update、query、index方法:
[align=left]<?php[/align]
[align=left]// 本类由系统自动生成,仅供测试用途[/align]
[align=left]class IndexAction extends Action {[/align]
[align=left] public function index(){[/align]
[align=left] //默认界面[查询界面][/align]
[align=left] $Mblog = M('blog'); // 实例化模型类 [/align]
[align=left] //$Mblog->Create();[/align]
[align=left] $list = $Mblog->select(); // 查询数据 [/align]
[align=left] $this->assign('list', $list); // 模板发量赋值 [/align]
[align=left]// echo "<pre>";[/align]
[align=left]// var_dump($list);exit;[/align]
[align=left] $this->display('index'); // 输出模板 [/align]
[align=left] exit;[/align]
[align=left] }[/align]
[align=left] public function insert(){[/align]
[align=left] //添加的动作[/align]
[align=left] $Mblog=M('blog');//实例化模型类[/align]
[align=left] //$data=array('title'=>$_POST['title'],'content'=>$_POST['content']);[/align]
[align=left] $Mblog->create();[/align]
[align=left] //var_dump($data);exit;[/align]
[align=left] $insertid=$Mblog->add();[/align]
[align=left] $this->assign('lastid',$insertid);[/align]
[align=left] //var_dump($insertid);exit;[/align]
[align=left] $this->redirect('index');//成功后重定向到index页面[/align]
[align=left] exit;[/align]
[align=left] }[/align]
[align=left] public function delete(){[/align]
[align=left] //删除的动作[/align]
[align=left] $Mblog=M('blog');//实例化模型类[/align]
[align=left] $where='id='.$_GET['id'];[/align]
[align=left] $Mblog->where($where)->delete();[/align]
[align=left] $this->redirect('index');//操作成功重定向到index模板[/align]
[align=left] exit;[/align]
[align=left] }[/align]
[align=left] public function edite(){[/align]
[align=left] //更新的界面[/align]
[align=left] $where='id='.$_GET['id'];[/align]
[align=left] $Mblog=M('blog');[/align]
[align=left] $list=$Mblog->where($where)->select();[/align]
[align=left]// echo "<pre>";[/align]
[align=left]// var_dump($list);exit;[/align]
[align=left] $this->assign('info',$list);[/align]
[align=left] $this->display();[/align]
[align=left] exit;[/align]
[align=left] }[/align]
[align=left] public function update(){[/align]
[align=left] //更新的动作[/align]
[align=left] $Mblog=M('blog');[/align]
[align=left] $Mblog->create();[/align]
[align=left] $status=$Mblog->save();[/align]
[align=left] if($status>0){[/align]
[align=left] //更新成功[/align]
[align=left] $this->redirect('index');[/align]
[align=left] }else{[/align]
[align=left] //更新失败[/align]
[align=left] $this->redirect('edite');[/align]
[align=left] }[/align]
[align=left] exit;[/align]
[align=left] }[/align]
}
5、增加业务逻辑对应模板
6、测试例子是否正常
经测试都正常[添加、删除、更新操作]
Tips:如果在测试过程中出现错误,请删除.Runtime/~runtime.php文件在测试
【源码】
thinkphpLearing
原文出处:
http://www.hacktea8.com/read.php?tid-1545-ds-1.html
相关文章推荐
- Nhibernate学习教程二 实际表的增删操作
- ThinkPHP基本的增删查改操作实例教程
- ThinkPHP基本的增删查改操作实例教程
- ThinkPHP3.2视频学习教程
- muduo网络库源码学习————原子性操作Atomic.h
- jQuery学习教程(四):使用jQuery操作DOM
- Scala学习教程笔记三之函数式编程、集合操作、模式匹配、类型参数、隐式转换、Actor、
- MongoDB入门教程之细说MongoDB数据库的增删查改操作
- Android学习--------实现增删改查数据库操作以及实现相似微信好友对话管理操作
- Lucene学习(二):增删改查操作
- oracle学习比之-----------数据库建表、增删改查操作
- ios开发学习--音频声效(Audio)效果源码分享--系列教程
- thinkphp5源码学习
- ios开发学习--动画(Animation)效果源码分享--系列教程1
- JQuery EasyUI学习教程之datagrid 添加、修改、删除操作
- 迷你MVVM框架 avalonjs 学习教程9、类名操作
- ios开发学习-弹出视图(Popup View) 效果源码分享--系列教程4
- Jmeter源码学习系列:用GUI的基本操作
- ios开发学习-弹出视图(Popup View) 效果源码分享--系列教程2
- MySQL中列子查询与行子查询操作的学习教程