攻克CakePHP系列三 表單數(shù)據(jù)增刪改
這里聲明一點(diǎn),上例中不小心把數(shù)據(jù)庫表中l(wèi)astupd字段錯(cuò)打成lastudp,本例子予以更正。
除上訴字段數(shù)據(jù)庫與上例一致。
工程仍沿用上例,如下圖:
代碼依次為:
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>
如此訪問http://localhost/cakephp/companies即可測試代碼。
- CakePHP框架Session設(shè)置方法分析
- cakephp2.X多表聯(lián)合查詢join及使用分頁查詢的方法
- Nginx配置PHP的Yii與CakePHP框架的rewrite規(guī)則示例
- 基于CakePHP實(shí)現(xiàn)的簡單博客系統(tǒng)實(shí)例
- cakephp打印sql語句的方法
- 初品cakephp 入門基礎(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ù)庫
- 攻克CakePHP(PHP中的Ruby On Rails框架)圖文介紹
- cakephp常見知識點(diǎn)匯總
相關(guān)文章
PHP 函數(shù)call_user_func和call_user_func_array用法詳解
下面來和大家分享一下這個(gè)call_user_func_array和call_user_func函數(shù)的用法,另外附贈(zèng)func_get_args()函數(shù)和func_num_args()函數(shù),嘿嘿!!2014-03-03
PHP數(shù)組式訪問接口ArrayAccess用法分析
這篇文章主要介紹了PHP數(shù)組式訪問接口ArrayAccess用法,結(jié)合實(shí)例形式分析了數(shù)組式訪問接口ArrayAccess的概念、功能、實(shí)現(xiàn)與使用方法,需要的朋友可以參考下2017-12-12
PHP實(shí)現(xiàn)動(dòng)態(tài)執(zhí)行代碼的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)動(dòng)態(tài)執(zhí)行代碼的方法,涉及PHP中create_function函數(shù)的使用技巧,需要的朋友可以參考下2016-03-03
Windows上PHP安裝redis擴(kuò)展和igbinary擴(kuò)展
php擴(kuò)展就是php核心并不支持的功能,通過安裝擴(kuò)展增加PHP的功能,在Windows上有兩種加載PHP擴(kuò)展的方式:把擴(kuò)展編譯進(jìn)?PHP,或者加載?DLL,加載預(yù)編譯的擴(kuò)展是更簡單更被推薦的方式,要加載某擴(kuò)展,需要在系統(tǒng)中有其相對應(yīng)的“.dll”文件2023-10-10
連接到txt文本的超鏈接,不直接打開而是點(diǎn)擊后下載的處理方法
默認(rèn)情況下瀏覽器Mime類型設(shè)定中會(huì)直接打開txt文本,但是如果想做到直接下載需要對Mime進(jìn)行設(shè)置。2009-07-07
PHP面向?qū)ο蟪绦蛟O(shè)計(jì)子類擴(kuò)展父類(子類重新載入父類)操作詳解
這篇文章主要介紹了PHP面向?qū)ο蟪绦蛟O(shè)計(jì)子類擴(kuò)展父類(子類重新載入父類)操作,涉及php面向?qū)ο蠓椒ㄖ貙懪c擴(kuò)展相關(guān)操作技巧,需要的朋友可以參考下2019-06-06
php array_merge函數(shù)使用需要注意的一個(gè)問題
這篇文章主要介紹了php array_merge函數(shù)使用需要注意的一個(gè)問題,本文講解array_merge合并數(shù)組時(shí)不會(huì)合并數(shù)字鍵名的問題,大家使用時(shí)需要注意,需要的朋友可以參考下2015-03-03

