PHP框架-thinkphp-學習筆記-CURD(1)
最近這段時間學習thinkphp,感覺確實是很好用的。不過在學習過程中也遇到了一些問題,現在寫出來和大家一起分享;
實驗目標:表的CURD。
目標及條件:
1. 主鍵用guid方式,也就是webid能自動以guid進行填充;
2. 插入時能自動填寫一些預設值,比如:新增時,欄位: isEnabled=1, dataStatus=1,更新時根據實際值改變。
3. 插入時crtDate,updDate自動插入當前時間。
4. 更新時updDate會自動更新當前時間,crtDate不變。
5. 插入和更新時pinyin欄位能根據webname欄位的值自動填充。
環境:php 5.2.17; think3.12; mysql 5.0.1b
1.建立表
點選(此處)摺疊或開啟
-
drop table if exists ebook_webinfo;
-
-
/*==============================================================*/
-
/* Table: ebook_webinfo */
-
/*==============================================================*/
-
create table ebook_webinfo
-
(
-
webId varchar(64) not null comment \'guid\',
-
webAddr varchar(100) comment \'範例:www.webset.com\',
-
webName varchar(100) comment \'網站名稱\',
-
pinYin varchar(100) comment \'拼音碼\',
-
crtDate datetime comment \'建立時間\',
-
updDate datetime comment \'最後修改時間\',
-
isEnabled int comment \'啟用\',
-
dataStatus int comment \'資料狀態\',
-
primary key (webId)
- );
2. CURD:
建立如下php檔案,記得要有thinkphp類庫哦:)
1.建立Lib->Action->WebinfoAction.class.php, 注意大小寫。
2.建立Lib->Model->WebinfoModel.class.php
3.建立Tpl->Webinfo目錄,以及下面的add.html, edit.html檔案。
|
|
2.1 WebinfoAction.class.php
點選(此處)摺疊或開啟
-
class WebinfoAction extends Action{
private $tablename = 'Webinfo';
public function __construct()
{
}
public function index()
{
// 使用檢視顯示, Tpl/Webinfo/index.html
$this->name = $this->tablename; // 進行模板變數賦值
// 讀取資料庫
$Data = M($this->tablename); // 例項化Data資料模型
$this->data = $Data->select();
$this->display();
}
public function insert(){
$Form = D($this->tablename);
if($Form->create()) {
$result = $Form->add();
echo $Form->getLastSql();
if($result) {
$this->success('操作成功!');
}else{
$this->error('寫入錯誤!');
}
}else{
$this->error($Form->getError());
}
}
// 該處的id不能變
public function edit($id=0){
$Form = M($this->tablename);
echo $id;
$this->vo = $Form->find($id);
$this->display();
}
public function update(){
$Form = D($this->tablename);
if($Form->create()) {
$result = $Form->save();
if($result) {
$this->success('操作成功!');
}else{
$this->error('寫入錯誤!');
}
}else{
$this->error($Form->getError());
}
}
}
點選(此處)摺疊或開啟
-
<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">
-
<html>
-
<head>
-
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
-
<title>hello {$name}</title>
-
</head>
-
<body>
-
<!-- hello {$name}
-->
-
<table style=\"BORDER-COLLAPSE: collapse\" borderColor=#000000 height=40 cellPadding=1 width=250 align=center border=1>
-
<tr><td>網站ID</td><td>網站名稱</td><td>網址</td></tr>
-
<volist name=\"data\" id=\"vo\">
-
<tr>
-
<td>{$vo.webId}</td>
-
<td>{$vo.webName}</td>
-
<td>{$vo.webAddr}</td>
-
</tr>
-
</volist>
-
</table>
-
</body>
- </html>
點選(此處)摺疊或開啟
-
<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">
-
<html>
-
<head>
-
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
-
<title>Webinfo add</title>
-
</head>
-
<body>
-
<FORM method=\"post\" action=\"__URL__/insert\">
-
網站名稱:<INPUT type=\"text\" name=\"webName\" ><br/>
-
網址:<INPUT type=\"text\" name=\"webAddr\" ><br/>
-
<INPUT type=\"submit\" value=\"提交\">
-
</FORM>
-
</body>
- </html>
點選(此處)摺疊或開啟
-
<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">
-
<html>
-
<head>
-
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">
-
<title>編輯</title>
-
</head>
-
<body>
-
編輯狀態:
-
<FORM method=\"post\" action=\"__URL__/update\">
-
網站ID:<INPUT type=\"text\" name=\"webId\" value=\"{$vo.webId}\"><br/>
-
網站名稱:<INPUT type=\"text\" name=\"webName\" value=\"{$vo.webName}\"><br/>
-
網址:<INPUT type=\"text\" name=\"webAddr\" value=\"{$vo.webAddr}\"><br/>
-
<INPUT type=\"hidden\" name=\"webId\" value=\"{$vo.webId}\">
-
<INPUT type=\"submit\" value=\"提交\">
-
</FORM>
- </body>
點選(此處)摺疊或開啟
-
<?php
-
class WebinfoModel extends Model {
-
-
protected $fields = array(
-
'webId',
-
'webName',
-
'webAddr',
-
'pinYin',
-
'crtDate',
-
'updDate',
-
'isEnabled',
-
'dataStatus',
-
'_pk'=>'webId' //主鍵
-
)
-
;
-
-
// 定義自動驗證
-
protected $_validate = array(
-
array('webName','require','名稱必須'),
-
);
-
-
// 定義自動完成
- // guid是我的另外一個函式,在thinkphp中沒有,需要自己新增
-
protected $_auto = array(
-
array('webId','guid',1,'function'),
- array('crtDate','date',1,'function',array('Y-m-d H:i:s')),
-
array('updDate','date',self::MODEL_BOTH,'function',array('Y-m-d H:i:s')),
- array('isEnabled','1',1,'function'),
- array('dataStatus','1',1,'function'),
- array('pinYin','getCurPinYin',3, 'callback'),
-
);
-
-
// 獲取拼音
- function getCurPinYin()
- {
-
return firstPinyin($_POST['webName']); // firstPinyin是自己定義的獲得拼音首字母函式
- }
點選(此處)摺疊或開啟
-
/**
-
* 獲取Guid
-
* @return guid
-
*/
-
function guid()
-
{
-
$guid = com_create_guid();
- $str_grid = str_replace('}','', str_replace('{','',str_replace('-', '', $guid)));
-
return $str_grid;
}
通過以上的實驗,可以初步學習thinkphp簡單的CURD。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3090/viewspace-1337494/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Scrapy 框架 (學習筆記-1)框架筆記
- Spring框架學習筆記(1)Spring框架筆記
- PHP 學習筆記PHP筆記
- Mybatis學習筆記 2:Mybatis 基本的CURD操作MyBatis筆記
- Camera KMD ISP學習筆記(1)-ISP框架筆記框架
- Java | Spring框架學習筆記--(1)工廠JavaSpring框架筆記
- SSM框架學習筆記_第1章_SpringIOC概述SSM框架筆記Spring
- .Net Core 學習筆記1——包、元包、框架筆記框架
- Bootstrap框架:學習筆記boot框架筆記
- 學習筆記1筆記
- 學習筆記-1筆記
- 深度學習框架Pytorch學習筆記深度學習框架PyTorch筆記
- 《PHP學習筆記——PHP基本語法》PHP筆記
- 機器學習框架ML.NET學習筆記【1】基本概念機器學習框架筆記
- go學習筆記——gin框架Go筆記框架
- HTML學習筆記(1)HTML筆記
- git學習筆記 1Git筆記
- git學習筆記1Git筆記
- golang 學習筆記1Golang筆記
- HTML學習筆記1HTML筆記
- ADworld學習筆記(1)筆記
- Numpy學習筆記 1筆記
- flex:1學習筆記Flex筆記
- hibernate學習筆記(1)筆記
- Leetcode學習筆記(1)LeetCode筆記
- spring學習筆記(1)Spring筆記
- python學習筆記(1Python筆記
- Vue學習筆記1Vue筆記
- swift學習筆記《1》Swift筆記
- SLAM學習筆記(1)SLAM筆記
- Spring框架學習筆記(二):官方文件Core Technologies – Part 1Spring框架筆記
- PHP 資料加密 (學習筆記)PHP加密筆記
- php設計模式學習筆記PHP設計模式筆記
- Gin學習筆記01 框架使用筆記框架
- React Native框架探索學習筆記React Native框架筆記
- React學習筆記1—起步React筆記
- webpack1學習筆記Web筆記
- PHP學習筆記系列:PHP生成器概覽PHP筆記
- springboot 開發學習筆記1Spring Boot筆記