攻克CakePHP系列二 表单数据显示

  作者:bea

首先建立数据库cake_ext,并执行如下sql文: CREATETABLE`companies`( `id`int(11)NOTNULLauto_increment, `company`varchar(50)NOTNULL, `price`decimal(8,2)NOTNULL, `change`decimal(8,2)NOTNULL, `lastudp`dateNOTNULL, PRIMARYKEY(`id`) )ENGINE=MyI
首先建立数据库cake_ext,并执行如下sql文:


CREATE TABLE `companies` (
  `id` int(11) NOT NULL auto_increment,
  `company` varchar(50) NOT NULL,
  `price` decimal(8,2) NOT NULL,
  `change` decimal(8,2) NOT NULL,
  `lastudp` date NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records 
-- ----------------------------
INSERT INTO `companies` VALUES ('1', '3m Co', '71.72', '0.02', '2008-10-21');
INSERT INTO `companies` VALUES ('2', 'Alcoa Inc', '29.01', '0.42', '2008-10-20');
INSERT INTO `companies` VALUES ('3', 'AT&T Inc.', '31.61', '-0.48', '2008-10-21');
INSERT INTO `companies` VALUES ('4', 'Boeing Co.', '75.43', '0.53', '2008-10-13');
INSERT INTO `companies` VALUES ('5', 'United Technologies Corporation', '63.26', '0.55', '2008-10-09');
INSERT INTO `companies` VALUES ('6', 'Intel Corporation', '19.88', '0.31', '2008-10-15');
INSERT INTO `companies` VALUES ('7', 'Exxon Mobil Corp', '68.10', '-0.43', '2008-10-17');


如下图所示建立工程:

数据库配置文件如下:


class DATABASE_CONFIG
{
    var $default = array('driver' => 'mysql',
                                'connect' => 'mysql_connect',
                                'host' => 'localhost',
                                'login' => 'root',
                                'password' => 'root',
                                'database' => 'cake_ext',
                                'prefix' => '');

    var $test = array('driver' => 'mysql',
                            'connect' => 'mysql_connect',
                            'host' => 'localhost',
                            'login' => 'root',
                            'password' => 'root',
                            'database' => 'cake_ext',
                            'prefix' => '');
}


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());
    }
}
?>


company.php:
 


<?php
class Company extends AppModel
{
    var $name = 'Company';
}
?>


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']); ?>
</td>
<td><?php echo $company['Company']['price']; ?></td>
<td><?php echo $company['Company']['change']; ?></td>
<td><?php echo $company['Company']['lastudp']; ?></td>
</tr>
<?php endforeach; ?>  
</table>


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']['lastudp']?></p>

访问http://localhost/cakephp/companies即可运行测试程序。   本代码参考自官方自带例子:http://book.cakephp.org/view/326/The-Cake-Blog-Tutorial


有用  |  无用

猜你喜欢