攻克CakePHP系列三 表单数据增删改
2015-01-24信息快讯网
下面的代码是CakePHP下对表单数据的增加,删除,修改实现代码
这里声明一点,上例中不小心把数据库表中lastupd字段错打成lastudp,本例子予以更正。
除上诉字段数据库与上例一致。
工程仍沿用上例,如下图:
代码依次为:
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即可测试代码。
由php的call_user_func传reference引发的思考
Google Voice 短信发送接口PHP开源版(2010.5更新)
PHP 飞信好友免费短信API接口开源版
PHP计划任务之关闭浏览器后仍然继续执行的函数
PHP垃圾回收机制简单说明
php将会员数据导入到ucenter的代码
php 无限级数据JSON格式及JS解析
php下mysql数据库操作类(改自discuz)
php数组对百万数据进行排除重复数据的实现代码
phpmyadmin里面导入sql语句格式的大量数据的方法
Discuz!下Memcache缓存实现方法
memcached 和 mysql 主从环境下php开发代码详解
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
Windows下安装Memcached的步骤说明
Cakephp 执行主要流程
初学CAKEPHP 基础教程
配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
smarty的保留变量问题
攻克CakePHP系列二 表单数据显示
CakePHP去除默认显示的标题及图标的方法
攻克CakePHP系列一 连接MySQL数据库
攻克CakePHP(PHP中的Ruby On Rails框架)图文介绍第1/2页
PHP 反射机制实现动态代理的代码
Cannot modify header information错误解决方法
php将数据库中的电话号码读取出来并生成图片
php多数据库支持的应用程序设计第1/2页
新安装的MySQL数据库需要注意的安全知识