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

  •   2009-07-31/23:00
  • 下面的代码是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>
    如此访问即可测试代码。


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多