攻克CakePHP系列三 表单数据增删改


Posted in PHP onOctober 22, 2008

这里声明一点,上例中不小心把数据库表中lastupd字段错打成lastudp,本例子予以更正。

除上诉字段数据库与上例一致。

工程仍沿用上例,如下图:

攻克CakePHP系列三 表单数据增删改

代码依次为:

database.php:与上例一致。

companies_controller.php:

  1. <?php 
  2. class CompaniesController extends AppController
  3. {
  4.     var $name = 'Companies';
  5.     
  6.     function index()
  7.     {
  8.         $this->set('companies'$this->Company->findAll());
  9.     }
  10.     
  11.     function view($id = null)
  12.     {
  13.         $this->Company->id = $id;
  14.         $this->set('company'$this->Company->read());
  15.     }
  16.     
  17.     function add()
  18.     {
  19.         if (!emptyempty($this->data))
  20.         {
  21.             if ($this->Company->save($this->data))
  22.             {
  23.                 $this->flash('Your post has been saved.','/companies');
  24.             }
  25.         }
  26.     }
  27.     
  28.     function edit($id = null)
  29.     {
  30.         if (emptyempty($this->data))
  31.         {
  32.             $this->Company->id = $id;
  33.             $this->data = $this->Company->read();
  34.         }
  35.         else
  36.         {
  37.             if ($this->Company->save($this->data['Company']))
  38.             {
  39.                 $this->flash('Your post has been updated.','/companies');
  40.             }
  41.         }
  42.     }
  43.     
  44.     function delete($id)
  45.     {
  46.         $this->Company->del($id);
  47.         $this->flash('The post with id: '.$id.' has been deleted.''/companies');
  48.     }
  49. }
  50. ?>

company.php:

  1. <?php
  2. class Company extends AppModel
  3. {
  4.     var $name = 'Company';
  5.     
  6.     var $validate = array(
  7.         'company' => VALID_NOT_EMPTY,
  8.         'price'   => VALID_NOT_EMPTY,
  9.         'change'  => VALID_NOT_EMPTY,
  10.         'lastupd' => VALID_NOT_EMPTY
  11.     );
  12. }
  13. ?>

index.thtml:

  1. <h1>Test companies</h1>
  2. <table>
  3. <tr>
  4. <th>Id</th>
  5. <th>company</th>
  6. <th>price</th>
  7. <th>change</th>
  8. <th>last update</th>
  9. </tr>
  10. <?php foreach ($companies as $company): ?>
  11. <tr>
  12. <td><?php echo $company['Company']['id']; ?></td>
  13. <td>
  14. <?php echo $html->link($company['Company']['company'], "/companies/view/".$company['Company']['id']); ?>
  15.     
  16. <?php echo $html->link('Delete'"/companies/delete/{$company['Company']['id']}", null, 'Are you sure?')?>
  17. </td>
  18. <td><?php echo $company['Company']['price']; ?></td>
  19. <td><?php echo $company['Company']['change']; ?></td>
  20. <td><?php echo $company['Company']['lastupd']; ?></td>
  21. </tr>
  22. <?php endforeach; ?>  
  23. </table>
  24. <p>
  25. <?php echo $html->link('add'"/companies/add"); ?>
  26. </p>

view.thtml:

  1. <h1>Company: <?php echo $company['Company']['company']?></h1>
  2. <p><small>Id: <?php echo $company['Company']['id']?></small></p>
  3. <p>Price: <?php echo $company['Company']['price']?></p>
  4. <p>Change: <?php echo $company['Company']['change']?></p>
  5. <p>LastUpdate: <?php echo $company['Company']['lastupd']?></p>
  6. <br/>
  7. <p>
  8. <?php echo $html->link('edit'"/companies/edit/".$company['Company']['id']); ?>
  9. </p>

add.thtml:

  1. <h1>Add Company</h1>
  2. <form method="post" action="<?php echo $html->url('/companies/add')?>">
  3. <p>
  4. Company:
  5. <?php echo $html->input('Company/company'array('size' => '40'))?>
  6. <?php echo $html->tagErrorMsg('Company/company''Company is required.') ?>
  7. </p>
  8. <p>
  9. Price:
  10. <?php echo $html->input('Company/price'array('size' => '40'))?>
  11. <?php echo $html->tagErrorMsg('Company/company''Price is required.') ?>
  12. </p>
  13. <p>
  14. Change:
  15. <?php echo $html->input('Company/change'array('size' => '40'))?>
  16. <?php echo $html->tagErrorMsg('Company/change''Change is required.') ?>
  17. </p>
  18. <p>
  19. Last Update:
  20. <?php echo $html->input('Company/lastupd'array('size' => '40'))?>
  21. <?php echo $html->tagErrorMsg('Company/lastupd''Last Update is required.') ?>
  22. </p>
  23. <p>
  24. <?php echo $html->submit('Save') ?> <?php echo $html->link('return'"/companies/index"); ?>
  25. </p>
  26. </form>

edit.thtml:

  1. <h1>Edit Company</h1>
  2. <form method="post" action="<?php echo $html->url('/companies/edit')?>">
  3. <?php echo $html->hidden('Company/id'); ?>
  4. <p>
  5. Company:
  6. <?php echo $html->input('Company/company'array('size' => '40'))?>
  7. <?php echo $html->tagErrorMsg('Company/company''Company is required.') ?>
  8. </p>
  9. <p>
  10. Price:
  11. <?php echo $html->input('Company/price'array('size' => '40'))?>
  12. <?php echo $html->tagErrorMsg('Company/company''Price is required.') ?>
  13. </p>
  14. <p>
  15. Change:
  16. <?php echo $html->input('Company/change'array('size' => '40'))?>
  17. <?php echo $html->tagErrorMsg('Company/change''Change is required.') ?>
  18. </p>
  19. <p>
  20. Last Update:
  21. <?php echo $html->input('Company/lastupd'array('size' => '40'))?>
  22. <?php echo $html->tagErrorMsg('Company/lastupd''Last Update is required.') ?>
  23. </p>
  24. <p>
  25. <?php echo $html->submit('Save') ?> <?php echo $html->link('return'"/companies/index"); ?>
  26. </p>
  27. </form>

如此访问http://localhost/cakephp/companies即可测试代码。

PHP 相关文章推荐
php将数据库中所有内容生成静态html文档的代码
Apr 12 PHP
php创建基本身份认证站点的方法详解
Jun 08 PHP
php图片缩放实现方法
Feb 20 PHP
PHP临时文件的安全性分析
Jul 04 PHP
ThinkPHP写数组插入与获取最新插入数据ID实例
Nov 03 PHP
php编程每天必学之验证码
Mar 03 PHP
Yii2实现同时搜索多个字段的方法
Aug 10 PHP
注意!PHP 7中不要做的10件事
Sep 18 PHP
php自定义截取中文字符串-utf8版
Feb 27 PHP
thinkPHP框架实现图像裁剪、缩放、加水印的方法
Mar 14 PHP
php微信开发之关键词回复功能
Jun 13 PHP
phpstudy2020搭建站点的实现示例
Oct 30 PHP
攻克CakePHP系列二 表单数据显示
Oct 22 #PHP
CakePHP去除默认显示的标题及图标的方法
Oct 22 #PHP
攻克CakePHP系列一 连接MySQL数据库
Oct 22 #PHP
PHP 反射机制实现动态代理的代码
Oct 22 #PHP
PHP中函数内引用全局变量的方法
Oct 20 #PHP
sqlyog 中文乱码问题的设置方法
Oct 19 #PHP
mysql5的sql文件导入到mysql4的方法
Oct 19 #PHP
You might like
也谈php网站在线人数统计
2008/04/09 PHP
PHP输出时间差函数代码
2013/01/28 PHP
PHP、Java des加密解密实例
2015/04/27 PHP
简单谈谈PHP中strlen 函数
2016/02/27 PHP
php打乱数组二维数组多维数组的简单实例
2016/06/17 PHP
修复IE9&amp;safari 的sort方法
2011/10/21 Javascript
javascript 文件的同步加载与异步加载实现原理
2012/12/13 Javascript
Javascript的表单验证-提交表单
2016/03/18 Javascript
解析JavaScript面向对象概念中的Object类型与作用域
2016/05/10 Javascript
JS基于面向对象实现的选项卡效果示例
2016/12/20 Javascript
js编写三级联动简单案例
2016/12/21 Javascript
AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法
2017/01/04 Javascript
微信小程序 视图容器组件的详解及实例代码
2017/01/19 Javascript
vue.js的提示组件
2017/03/02 Javascript
JavaScript数据结构之二叉树的查找算法示例
2017/04/13 Javascript
node.js中grunt和gulp的区别详解
2017/07/17 Javascript
vue教程之toast弹框全局调用示例详解
2020/08/24 Javascript
Vue-CLI 3 scp2自动部署项目至服务器的方法
2020/07/24 Javascript
JavaScript 如何在浏览器中使用摄像头
2020/12/02 Javascript
python正则表达式re之compile函数解析
2017/10/25 Python
python机器学习之决策树分类详解
2017/12/20 Python
python脚本调用iftop 统计业务应用流量的思路详解
2019/10/11 Python
Python 调用有道翻译接口实现翻译
2020/03/02 Python
python批量替换文件名中的共同字符实例
2020/03/05 Python
详解Python设计模式之策略模式
2020/06/15 Python
Ryderwear澳洲官网:澳大利亚高端健身训练装备品牌
2018/09/18 全球购物
公务员培训自我鉴定
2013/09/19 职场文书
医院护理人员的自我评价分享
2013/10/04 职场文书
高三政治教学反思
2014/02/06 职场文书
勤俭节约倡议书
2014/04/14 职场文书
有关九一八事变的演讲稿
2014/09/14 职场文书
2015年乡镇发展党员工作总结
2015/03/31 职场文书
2015年员工试用期工作总结
2015/05/28 职场文书
为什么中国式养孩子很累?
2019/08/07 职场文书
高中语文教材(文学文化常识大全一)
2019/08/13 职场文书
mysql 获取相邻数据项
2022/05/11 MySQL