欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

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

程序员文章站 2022-05-12 18:12:50
...
下面的代码是Cakephp下对表单数据的增加,删除,修改实现代码

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

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

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

代码依次为:

database.php:与上例一致。

companies_controller.php:

<?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('Your post has been saved.','/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('Your post has been updated.','/companies');
}
}
}

functiondelete($id)
{
$this->Company->del($id);
$this->flash('The post with id: '.$id.' has been deleted.','/companies');
}
}
?>
company.php:

<?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:

<h1>Test companies</h1>
<table>
<tr>
<th>Id</th>
<th>company</th>
<th>price</th>
<th>change</th>
<th>last update</th>
</tr>
<?phpforeach($companiesas$company): ?>
<tr>
<td><?phpecho$company['Company']['id']; ?></td>
<td>
<?phpecho$html->link($company['Company']['company'],"/companies/view/".$company['Company']['id']); ?>

<?phpecho$html->link('Delete',"/companies/delete/{$company['Company']['id']}", null,'Are you sure?')?>
</td>
<td><?phpecho$company['Company']['price']; ?></td>
<td><?phpecho$company['Company']['change']; ?></td>
<td><?phpecho$company['Company']['lastupd']; ?></td>
</tr>
<?phpendforeach; ?>
</table>
<p>
<?phpecho$html->link('add',"/companies/add"); ?>
</p>
view.thtml:

<h1>Company: <?phpecho$company['Company']['company']?></h1>
<p><small>Id: <?phpecho$company['Company']['id']?></small></p>
<p>Price: <?phpecho$company['Company']['price']?></p>
<p>Change: <?phpecho$company['Company']['change']?></p>
<p>LastUpdate: <?phpecho$company['Company']['lastupd']?></p>
<br/>
<p>
<?phpecho$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:
<?phpecho$html->input('Company/company',array('size'=>'40'))?>
<?phpecho$html->tagErrorMsg('Company/company','Company is required.') ?>
</p>
<p>
Price:
<?phpecho$html->input('Company/price',array('size'=>'40'))?>
<?phpecho$html->tagErrorMsg('Company/company','Price is required.') ?>
</p>
<p>
Change:
<?phpecho$html->input('Company/change',array('size'=>'40'))?>
<?phpecho$html->tagErrorMsg('Company/change','Change is required.') ?>
</p>
<p>
Last Update:
<?phpecho$html->input('Company/lastupd',array('size'=>'40'))?>
<?phpecho$html->tagErrorMsg('Company/lastupd','Last Update is required.') ?>
</p>
<p>
<?phpecho$html->submit('Save') ?> <?phpecho$html->link('return',"/companies/index"); ?>
</p>
</form>
edit.thtml:

<h1>Edit Company</h1>
<form method="post"action="<?php echo $html->url('/companies/edit')?>">
<?phpecho$html->hidden('Company/id'); ?>
<p>
Company:
<?phpecho$html->input('Company/company',array('size'=>'40'))?>
<?phpecho$html->tagErrorMsg('Company/company','Company is required.') ?>
</p>
<p>
Price:
<?phpecho$html->input('Company/price',array('size'=>'40'))?>
<?phpecho$html->tagErrorMsg('Company/company','Price is required.') ?>
</p>
<p>
Change:
<?phpecho$html->input('Company/change',array('size'=>'40'))?>
<?phpecho$html->tagErrorMsg('Company/change','Change is required.') ?>
</p>
<p>
Last Update:
<?phpecho$html->input('Company/lastupd',array('size'=>'40'))?>
<?phpecho$html->tagErrorMsg('Company/lastupd','Last Update is required.') ?>
</p>
<p>
<?phpecho$html->submit('Save') ?> <?phpecho$html->link('return',"/companies/index"); ?>
</p>
</form>
如此访问http://localhost/cakephp/companies即可测试代码。

以上就是攻克CakePHP系列三 表单数据增删改的内容,更多相关内容请关注PHP中文网(www.php.cn)!