攻克CakePHP系列三 表單數(shù)據(jù)增刪改
這里聲明一點(diǎn),上例中不小心把數(shù)據(jù)庫(kù)表中l(wèi)astupd字段錯(cuò)打成lastudp,本例子予以更正。
除上訴字段數(shù)據(jù)庫(kù)與上例一致。
工程仍沿用上例,如下圖:
代碼依次為:
database.php:與上例一致。
companies_controller.php:
- <?php
- class CompaniesController extends AppController
- {
- var $name = 'Companies';
- function index()
- {
- $this->set('companies', $this->Company->findAll());
- }
- function view($id = null)
- {
- $this->Company->id = $id;
- $this->set('company', $this->Company->read());
- }
- function add()
- {
- if (!emptyempty($this->data))
- {
- if ($this->Company->save($this->data))
- {
- $this->flash('Your post has been saved.','/companies');
- }
- }
- }
- function edit($id = null)
- {
- if (emptyempty($this->data))
- {
- $this->Company->id = $id;
- $this->data = $this->Company->read();
- }
- else
- {
- if ($this->Company->save($this->data['Company']))
- {
- $this->flash('Your post has been updated.','/companies');
- }
- }
- }
- function delete($id)
- {
- $this->Company->del($id);
- $this->flash('The post with id: '.$id.' has been deleted.', '/companies');
- }
- }
- ?>
company.php:
- <?php
- class Company extends AppModel
- {
- var $name = 'Company';
- var $validate = array(
- 'company' => VALID_NOT_EMPTY,
- 'price' => VALID_NOT_EMPTY,
- 'change' => VALID_NOT_EMPTY,
- 'lastupd' => VALID_NOT_EMPTY
- );
- }
- ?>
index.thtml:
- <h1>Test companies</h1>
- <table>
- <tr>
- <th>Id</th>
- <th>company</th>
- <th>price</th>
- <th>change</th>
- <th>last update</th>
- </tr>
- <?php foreach ($companies as $company): ?>
- <tr>
- <td><?php echo $company['Company']['id']; ?></td>
- <td>
- <?php echo $html->link($company['Company']['company'], "/companies/view/".$company['Company']['id']); ?>
- <?php echo $html->link('Delete', "/companies/delete/{$company['Company']['id']}", null, 'Are you sure?')?>
- </td>
- <td><?php echo $company['Company']['price']; ?></td>
- <td><?php echo $company['Company']['change']; ?></td>
- <td><?php echo $company['Company']['lastupd']; ?></td>
- </tr>
- <?php endforeach; ?>
- </table>
- <p>
- <?php echo $html->link('add', "/companies/add"); ?>
- </p>
view.thtml:
- <h1>Company: <?php echo $company['Company']['company']?></h1>
- <p><small>Id: <?php echo $company['Company']['id']?></small></p>
- <p>Price: <?php echo $company['Company']['price']?></p>
- <p>Change: <?php echo $company['Company']['change']?></p>
- <p>LastUpdate: <?php echo $company['Company']['lastupd']?></p>
- <br/>
- <p>
- <?php echo $html->link('edit', "/companies/edit/".$company['Company']['id']); ?>
- </p>
add.thtml:
- <h1>Add Company</h1>
- <form method="post" action="<?php echo $html->url('/companies/add')?>">
- <p>
- Company:
- <?php echo $html->input('Company/company', array('size' => '40'))?>
- <?php echo $html->tagErrorMsg('Company/company', 'Company is required.') ?>
- </p>
- <p>
- Price:
- <?php echo $html->input('Company/price', array('size' => '40'))?>
- <?php echo $html->tagErrorMsg('Company/company', 'Price is required.') ?>
- </p>
- <p>
- Change:
- <?php echo $html->input('Company/change', array('size' => '40'))?>
- <?php echo $html->tagErrorMsg('Company/change', 'Change is required.') ?>
- </p>
- <p>
- Last Update:
- <?php echo $html->input('Company/lastupd', array('size' => '40'))?>
- <?php echo $html->tagErrorMsg('Company/lastupd', 'Last Update is required.') ?>
- </p>
- <p>
- <?php echo $html->submit('Save') ?> <?php echo $html->link('return', "/companies/index"); ?>
- </p>
- </form>
edit.thtml:
- <h1>Edit Company</h1>
- <form method="post" action="<?php echo $html->url('/companies/edit')?>">
- <?php echo $html->hidden('Company/id'); ?>
- <p>
- Company:
- <?php echo $html->input('Company/company', array('size' => '40'))?>
- <?php echo $html->tagErrorMsg('Company/company', 'Company is required.') ?>
- </p>
- <p>
- Price:
- <?php echo $html->input('Company/price', array('size' => '40'))?>
- <?php echo $html->tagErrorMsg('Company/company', 'Price is required.') ?>
- </p>
- <p>
- Change:
- <?php echo $html->input('Company/change', array('size' => '40'))?>
- <?php echo $html->tagErrorMsg('Company/change', 'Change is required.') ?>
- </p>
- <p>
- Last Update:
- <?php echo $html->input('Company/lastupd', array('size' => '40'))?>
- <?php echo $html->tagErrorMsg('Company/lastupd', 'Last Update is required.') ?>
- </p>
- <p>
- <?php echo $html->submit('Save') ?> <?php echo $html->link('return', "/companies/index"); ?>
- </p>
- </form>
如此訪問(wèn)http://localhost/cakephp/companies即可測(cè)試代碼。
- CakePHP框架Session設(shè)置方法分析
- cakephp2.X多表聯(lián)合查詢(xún)join及使用分頁(yè)查詢(xún)的方法
- Nginx配置PHP的Yii與CakePHP框架的rewrite規(guī)則示例
- 基于CakePHP實(shí)現(xiàn)的簡(jiǎn)單博客系統(tǒng)實(shí)例
- cakephp打印sql語(yǔ)句的方法
- 初品cakephp 入門(mén)基礎(chǔ)
- Cakephp 執(zhí)行主要流程
- 初學(xué)CAKEPHP 基礎(chǔ)教程
- 配置Apache2.2+PHP5+CakePHP1.2+MySQL5運(yùn)行環(huán)境
- 攻克CakePHP系列二 表單數(shù)據(jù)顯示
- CakePHP去除默認(rèn)顯示的標(biāo)題及圖標(biāo)的方法
- 攻克CakePHP系列一 連接MySQL數(shù)據(jù)庫(kù)
- 攻克CakePHP(PHP中的Ruby On Rails框架)圖文介紹
- cakephp常見(jiàn)知識(shí)點(diǎn)匯總
相關(guān)文章
PHP中你應(yīng)該知道的require()文件包含的正確用法
這篇文章主要介紹了PHP中你應(yīng)該知道的require()文件包含的正確用法,需要的朋友可以參考下2015-06-06sourcesafe管理phpproj文件的補(bǔ)充說(shuō)明(downmoon)
在使用vs.php+ sourcesafe管理代碼時(shí),發(fā)現(xiàn)有時(shí)候并不能從vs.net IDE中正確獲取phpproj文件下的所有文件。但從sourcesafe IDE下卻可以。2009-04-04PHP實(shí)現(xiàn)簡(jiǎn)單實(shí)用的分頁(yè)類(lèi)代碼
這篇文章主要介紹了PHP實(shí)現(xiàn)簡(jiǎn)單實(shí)用的分頁(yè)類(lèi)代碼,結(jié)合實(shí)例形式分析了PHP分頁(yè)類(lèi)的定義與使用技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2016-04-04PHP兩種實(shí)現(xiàn)無(wú)級(jí)遞歸分類(lèi)的方法
本文主要介紹了PHP兩種實(shí)現(xiàn)無(wú)級(jí)遞歸分類(lèi)的方法,具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-03-03最令PHP初學(xué)者們頭痛的十四個(gè)問(wèn)題
最令PHP初學(xué)者們頭痛的十四個(gè)問(wèn)題...2007-01-01基于PHP實(shí)現(xiàn)的多元線性回歸模擬曲線算法
這篇文章主要介紹了基于PHP實(shí)現(xiàn)的多元線性回歸模擬曲線算法,結(jié)合具體實(shí)例形式分析了多元線性回歸模擬曲線算法的原理與相關(guān)php實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-01-01PHP轉(zhuǎn)Go之?dāng)?shù)組的正確使用詳解
這篇文章主要為大家對(duì)比一下PHP中的Array和Golang中的 Array&Slice&Map,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-09-09PHP封裝的mysqli數(shù)據(jù)庫(kù)操作類(lèi)示例
這篇文章主要介紹了PHP封裝的mysqli數(shù)據(jù)庫(kù)操作類(lèi),涉及php針對(duì)mysqli數(shù)據(jù)庫(kù)的連接、增刪改查、分頁(yè)、排序等相關(guān)操作技巧,需要的朋友可以參考下2019-02-02php中10個(gè)不同等級(jí)壓縮優(yōu)化圖片操作示例
這篇文章主要介紹了php中10個(gè)不同等級(jí)壓縮優(yōu)化圖片操作方法,結(jié)合實(shí)例形式分析了php中imagepng函數(shù)進(jìn)行圖片壓縮操作過(guò)程中不同壓縮等級(jí)的使用技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-11-11php實(shí)現(xiàn)XSS安全過(guò)濾的方法
這篇文章主要介紹了php實(shí)現(xiàn)XSS安全過(guò)濾的方法,實(shí)例分析了php針對(duì)XSS進(jìn)行安全過(guò)濾的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07