欢迎来到福编程网,本站提供各种互联网专业知识!

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

发布时间:2008-10-22 作者: 来源:转载
下面的代码是CakePHP下对表单数据的增加,删除,修改实现代码

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

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

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

代码依次为:

database.php:与上例一致。

companies_controller.php:

classCompaniesControllerextendsAppController { var$name='Companies'; functionindex() { $this->set('companies',$this->Company->findAll()); } functionview($id=null) { $this->Company->id=$id; $this->set('company',$this->Company->read()); } functionadd() { if(!emptyempty($this->data)) { if($this->Company->save($this->data)) { $this->flash('Yourposthasbeensaved.','/companies'); } } } functionedit($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('Yourposthasbeenupdated.','/companies'); } } } functiondelete($id) { $this->Company->del($id); $this->flash('Thepostwithid:'.$id.'hasbeendeleted.','/companies'); } } ?>

company.php:

classCompanyextendsAppModel { var$name='Company'; var$validate=array( 'company'=>VALID_NOT_EMPTY, 'price'=>VALID_NOT_EMPTY, 'change'=>VALID_NOT_EMPTY, 'lastupd'=>VALID_NOT_EMPTY ); } ?>

index.thtml:

Testcompanies

foreach($companiesas$company):?> endforeach;?>
Id company price change lastupdate
echo$company['Company']['id'];?> echo$html->link($company['Company']['company'],"/companies/view/".$company['Company']['id']);?> echo$html->link('Delete',"/companies/delete/{$company['Company']['id']}",null,'Areyousure?')?> echo$company['Company']['price'];?> echo$company['Company']['change'];?> echo$company['Company']['lastupd'];?>

echo$html->link('add',"/companies/add");?>

view.thtml:

Company:echo$company['Company']['company']?>

Id:echo$company['Company']['id']?>

Price:echo$company['Company']['price']?>

Change:echo$company['Company']['change']?>

LastUpdate:echo$company['Company']['lastupd']?>

echo$html->link('edit',"/companies/edit/".$company['Company']['id']);?>

add.thtml:

AddCompany

"post"action="url('/companies/add')?>">

Company: echo$html->input('Company/company',array('size'=>'40'))?> echo$html->tagErrorMsg('Company/company','Companyisrequired.')?>

Price: echo$html->input('Company/price',array('size'=>'40'))?> echo$html->tagErrorMsg('Company/company','Priceisrequired.')?>

Change: echo$html->input('Company/change',array('size'=>'40'))?> echo$html->tagErrorMsg('Company/change','Changeisrequired.')?>

LastUpdate: echo$html->input('Company/lastupd',array('size'=>'40'))?> echo$html->tagErrorMsg('Company/lastupd','LastUpdateisrequired.')?>

echo$html->submit('Save')?>echo$html->link('return',"/companies/index");?>

edit.thtml:

EditCompany

"post"action="url('/companies/edit')?>"> echo$html->hidden('Company/id');?>

Company: echo$html->input('Company/company',array('size'=>'40'))?> echo$html->tagErrorMsg('Company/company','Companyisrequired.')?>

Price: echo$html->input('Company/price',array('size'=>'40'))?> echo$html->tagErrorMsg('Company/company','Priceisrequired.')?>

Change: echo$html->input('Company/change',array('size'=>'40'))?> echo$html->tagErrorMsg('Company/change','Changeisrequired.')?>

LastUpdate: echo$html->input('Company/lastupd',array('size'=>'40'))?> echo$html->tagErrorMsg('Company/lastupd','LastUpdateisrequired.')?>

echo$html->submit('Save')?>echo$html->link('return',"/companies/index");?>

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

相关推荐