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

字体大小: 中小 标准 ->行高大小: 标准

下面的代码CakePHP下对表单数据的增加,删除,修改实现代码

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

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

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

代码依次为:

database.php:与上例一致。

companies_controller.php:

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

company.php:

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

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. <?phpforeach($companiesas$company): ?>
  11. <tr>
  12. <td><?phpecho$company['Company']['id']; ?></td>
  13. <td>
  14. <?phpecho$html->link($company['Company']['company'],"/companies/view/".$company['Company']['id']); ?>
  15. <?phpecho$html->link('Delete',"/companies/delete/{$company['Company']['id']}", null,'Are you sure?')?>
  16. </td>
  17. <td><?phpecho$company['Company']['price']; ?></td>
  18. <td><?phpecho$company['Company']['change']; ?></td>
  19. <td><?phpecho$company['Company']['lastupd']; ?></td>
  20. </tr>
  21. <?phpendforeach; ?>
  22. </table>
  23. <p>
  24. <?phpecho$html->link('add',"/companies/add"); ?>
  25. </p>

view.thtml:

  1. <h1>Company: <?phpecho$company['Company']['company']?></h1>
  2. <p><small>Id: <?phpecho$company['Company']['id']?></small></p>
  3. <p>Price: <?phpecho$company['Company']['price']?></p>
  4. <p>Change: <?phpecho$company['Company']['change']?></p>
  5. <p>LastUpdate: <?phpecho$company['Company']['lastupd']?></p>
  6. <br/>
  7. <p>
  8. <?phpecho$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. <?phpecho$html->input('Company/company',array('size'=>'40'))?>
  6. <?phpecho$html->tagErrorMsg('Company/company','Company is required.') ?>
  7. </p>
  8. <p>
  9. Price:
  10. <?phpecho$html->input('Company/price',array('size'=>'40'))?>
  11. <?phpecho$html->tagErrorMsg('Company/company','Price is required.') ?>
  12. </p>
  13. <p>
  14. Change:
  15. <?phpecho$html->input('Company/change',array('size'=>'40'))?>
  16. <?phpecho$html->tagErrorMsg('Company/change','Change is required.') ?>
  17. </p>
  18. <p>
  19. Last Update:
  20. <?phpecho$html->input('Company/lastupd',array('size'=>'40'))?>
  21. <?phpecho$html->tagErrorMsg('Company/lastupd','Last Update is required.') ?>
  22. </p>
  23. <p>
  24. <?phpecho$html->submit('Save') ?> <?phpecho$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. <?phpecho$html->hidden('Company/id'); ?>
  4. <p>
  5. Company:
  6. <?phpecho$html->input('Company/company',array('size'=>'40'))?>
  7. <?phpecho$html->tagErrorMsg('Company/company','Company is required.') ?>
  8. </p>
  9. <p>
  10. Price:
  11. <?phpecho$html->input('Company/price',array('size'=>'40'))?>
  12. <?phpecho$html->tagErrorMsg('Company/company','Price is required.') ?>
  13. </p>
  14. <p>
  15. Change:
  16. <?phpecho$html->input('Company/change',array('size'=>'40'))?>
  17. <?phpecho$html->tagErrorMsg('Company/change','Change is required.') ?>
  18. </p>
  19. <p>
  20. Last Update:
  21. <?phpecho$html->input('Company/lastupd',array('size'=>'40'))?>
  22. <?phpecho$html->tagErrorMsg('Company/lastupd','Last Update is required.') ?>
  23. </p>
  24. <p>
  25. <?phpecho$html->submit('Save') ?> <?phpecho$html->link('return',"/companies/index"); ?>
  26. </p>
  27. </form>

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

此文章由 http://www.ositren.com 收集整理 ,地址为: http://www.ositren.com/htmls/967.html