Home >Backend Development >PHP Tutorial >攻克CakePHP系列三 表单数据增删改_php技巧

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

WBOY
WBOYOriginal
2016-05-17 09:34:39756browse

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

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

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

代码依次为:

database.php:与上例一致。

companies_controller.php:

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

company.php:

  1. class Company extends AppModel
  2. {
  3.     var $name = 'Company';
  4.     
  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. Test companies

  2. foreach ($companies as $company): ?>
  3. endforeach; ?>  
  4. Id company price change last update
    echo $company['Company']['id']; ?>
  5. echo $html->link($company['Company']['company'], "/companies/view/".$company['Company']['id']); ?>
  6.     
  7. echo $html->link('Delete'"/companies/delete/{$company['Company']['id']}", null, 'Are you sure?')?>
  8. echo $company['Company']['price']; ?> echo $company['Company']['change']; ?> echo $company['Company']['lastupd']; ?>
  9. echo $html->link('add'"/companies/add"); ?>

view.thtml:

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

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

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

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

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


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

add.thtml:

  1. Add Company

  2. "post" action="url('/companies/add')?>">
  3. Company:
  4. echo $html->input('Company/company'array('size' => '40'))?>
  5. echo $html->tagErrorMsg('Company/company''Company is required.') ?>
  6. Price:
  7. echo $html->input('Company/price'array('size' => '40'))?>
  8. echo $html->tagErrorMsg('Company/company''Price is required.') ?>
  9. Change:
  10. echo $html->input('Company/change'array('size' => '40'))?>
  11. echo $html->tagErrorMsg('Company/change''Change is required.') ?>
  12. Last Update:
  13. echo $html->input('Company/lastupd'array('size' => '40'))?>
  14. echo $html->tagErrorMsg('Company/lastupd''Last Update is required.') ?>
  15. echo $html->submit('Save') ?> echo $html->link('return'"/companies/index"); ?>

edit.thtml:

  1. Edit Company

  2. "post" action="url('/companies/edit')?>">
  3. echo $html->hidden('Company/id'); ?>
  4. Company:
  5. echo $html->input('Company/company'array('size' => '40'))?>
  6. echo $html->tagErrorMsg('Company/company''Company is required.') ?>
  7. Price:
  8. echo $html->input('Company/price'array('size' => '40'))?>
  9. echo $html->tagErrorMsg('Company/company''Price is required.') ?>
  10. Change:
  11. echo $html->input('Company/change'array('size' => '40'))?>
  12. echo $html->tagErrorMsg('Company/change''Change is required.') ?>
  13. Last Update:
  14. echo $html->input('Company/lastupd'array('size' => '40'))?>
  15. echo $html->tagErrorMsg('Company/lastupd''Last Update is required.') ?>
  16. echo $html->submit('Save') ?> echo $html->link('return'"/companies/index"); ?>

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn