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

  作者:bea

这里声明一点,上例中不小心把数据库表中lastupd字段错打成lastudp,本例子予以更正。 除上诉字段数据库与上例一致。 工程仍沿用上例,如下图: 代码依次为: database.php:与上例一致。 companies_controller.php: <?php classCompaniesControllerextendsAppController { var$name='Companies'; functionindex()
这里声明一点,上例中不小心把数据库表中lastupd字段错打成lastudp,本例子予以更正。
除上诉字段数据库与上例一致。
工程仍沿用上例,如下图:

代码依次为:
database.php:与上例一致。
companies_controller.php:


<?php 
class CompaniesController extends AppController
{
    var $name = 'Companies';
    
    function index()
    {
        $this->set('companies', $this->Company->findAll());
    }
    
    function view($id = null)
    {
        $this->Company->id = $id;
        $this->set('company', $this->Company->read());
    }
    
    function add()
    {
        if (!emptyempty($this->data))
        {
            if ($this->Company->save($this->data))
            {
                $this->flash('Your post has been saved.','/companies');
            }
        }
    }
    
    function edit($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');
            }
        }
    }
    
    function delete($id)
    {
        $this->Company->del($id);
        $this->flash('The post with id: '.$id.' has been deleted.', '/companies');
    }
}
?>


company.php:


<?php
class Company extends AppModel
{
    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>
<?php foreach ($companies as $company): ?>
<tr>
<td><?php echo $company['Company']['id']; ?></td>
<td>
<?php echo $html->link($company['Company']['company'], "/companies/view/".$company['Company']['id']); ?>
    
<?php echo $html->link('Delete', "/companies/delete/{$company['Company']['id']}", null, 'Are you sure?')?>
</td>
<td><?php echo $company['Company']['price']; ?></td>
<td><?php echo $company['Company']['change']; ?></td>
<td><?php echo $company['Company']['lastupd']; ?></td>
</tr>
<?php endforeach; ?>  
</table>
<p>
<?php echo $html->link('add', "/companies/add"); ?>
</p>


view.thtml:



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


edit.thtml:


<h1>Edit Company</h1>
<form method="post" action="<?php echo $html->url('/companies/edit')?>">
<?php echo $html->hidden('Company/id'); ?>
<p>
Company:
<?php echo $html->input('Company/company', array('size' => '40'))?>
<?php echo $html->tagErrorMsg('Company/company', 'Company is required.') ?>
</p>
<p>
Price:
<?php echo $html->input('Company/price', array('size' => '40'))?>
<?php echo $html->tagErrorMsg('Company/company', 'Price is required.') ?>
</p>
<p>
Change:
<?php echo $html->input('Company/change', array('size' => '40'))?>
<?php echo $html->tagErrorMsg('Company/change', 'Change is required.') ?>
</p>
<p>
Last Update:
<?php echo $html->input('Company/lastupd', array('size' => '40'))?>
<?php echo $html->tagErrorMsg('Company/lastupd', 'Last Update is required.') ?>
</p>
<p>
<?php echo $html->submit('Save') ?> <?php echo $html->link('return', "/companies/index"); ?>
</p>
</form>


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


有用  |  无用

猜你喜欢