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


Posted in PHP onOctober 22, 2008

首先建立数据库cake_ext,并执行如下sql文:

  1. CREATE TABLE `companies` (
  2.   `id` int(11) NOT NULL auto_increment,
  3.   `company` varchar(50) NOT NULL,
  4.   `price` decimal(8,2) NOT NULL,
  5.   `change` decimal(8,2) NOT NULL,
  6.   `lastudp` date NOT NULL,
  7.   PRIMARY KEY  (`id`)
  8. ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
  9. -- ----------------------------
  10. -- Records 
  11. -- ----------------------------
  12. INSERT INTO `companies` VALUES ('1', '3m Co', '71.72', '0.02', '2008-10-21');
  13. INSERT INTO `companies` VALUES ('2', 'Alcoa Inc', '29.01', '0.42', '2008-10-20');
  14. INSERT INTO `companies` VALUES ('3', 'AT&T Inc.', '31.61', '-0.48', '2008-10-21');
  15. INSERT INTO `companies` VALUES ('4', 'Boeing Co.', '75.43', '0.53', '2008-10-13');
  16. INSERT INTO `companies` VALUES ('5', 'United Technologies Corporation', '63.26', '0.55', '2008-10-09');
  17. INSERT INTO `companies` VALUES ('6', 'Intel Corporation', '19.88', '0.31', '2008-10-15');
  18. INSERT INTO `companies` VALUES ('7', 'Exxon Mobil Corp', '68.10', '-0.43', '2008-10-17');

如下图所示建立工程:

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

数据库配置文件如下:

  1. class DATABASE_CONFIG
  2. {
  3.     var $default = array('driver' => 'mysql',
  4.                                 'connect' => 'mysql_connect',
  5.                                 'host' => 'localhost',
  6.                                 'login' => 'root',
  7.                                 'password' => 'root',
  8.                                 'database' => 'cake_ext',
  9.                                 'prefix' => '');
  10.     var $test = array('driver' => 'mysql',
  11.                             'connect' => 'mysql_connect',
  12.                             'host' => 'localhost',
  13.                             'login' => 'root',
  14.                             'password' => 'root',
  15.                             'database' => 'cake_ext',
  16.                             'prefix' => '');
  17. }

companies_controller.php:

  1. <?php 
  2. class CompaniesController extends AppController
  3. {
  4.     var $name = 'Companies';
  5.     
  6.     function index()
  7.     {
  8.         $this->set('companies'$this->Company->findAll());
  9.     }
  10.     
  11.     function view($id = null)
  12.     {
  13.         $this->Company->id = $id;
  14.         $this->set('company'$this->Company->read());
  15.     }
  16. }
  17. ?>

company.php:

 

  1. <?php
  2. class Company extends AppModel
  3. {
  4.     var $name = 'Company';
  5. }
  6. ?>

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. <?php foreach ($companies as $company): ?>
  11. <tr>
  12. <td><?php echo $company['Company']['id']; ?></td>
  13. <td>
  14. <?php echo $html->link($company['Company']['company'], "/companies/view/".$company['Company']['id']); ?>
  15. </td>
  16. <td><?php echo $company['Company']['price']; ?></td>
  17. <td><?php echo $company['Company']['change']; ?></td>
  18. <td><?php echo $company['Company']['lastudp']; ?></td>
  19. </tr>
  20. <?php endforeach; ?>  
  21. </table>

view.thtml:

  1. <h1>Company: <?php echo $company['Company']['company']?></h1>
  2. <p><small>Id: <?php echo $company['Company']['id']?></small></p>
  3. <p>Price: <?php echo $company['Company']['price']?></p>
  4. <p>Change: <?php echo $company['Company']['change']?></p>
  5. <p>LastUpdate: <?php echo $company['Company']['lastudp']?></p>

访问http://localhost/cakephp/companies即可运行测试程序。

 

本代码参考自官方自带例子:http://book.cakephp.org/view/326/The-Cake-Blog-Tutorial

PHP 相关文章推荐
php获取文件内容最后一行示例
Jan 09 PHP
php使用curl存储cookie的示例
Mar 31 PHP
php+mysqli批量查询多张表数据的方法
Jan 29 PHP
php实现的用户查询类实例
Jun 18 PHP
详解YII关联查询
Jan 10 PHP
PHP中addslashes与mysql_escape_string的区别分析
Apr 25 PHP
yii2.0整合阿里云oss上传单个文件的示例
Sep 19 PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
May 25 PHP
Laravel 6.2 中添加了可调用容器对象的方法
Oct 22 PHP
php文件上传原理与实现方法详解
Dec 20 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
Mar 09 PHP
详解PHP服务器如何在有限的资源里最大提升并发能力
May 25 PHP
CakePHP去除默认显示的标题及图标的方法
Oct 22 #PHP
攻克CakePHP系列一 连接MySQL数据库
Oct 22 #PHP
PHP 反射机制实现动态代理的代码
Oct 22 #PHP
PHP中函数内引用全局变量的方法
Oct 20 #PHP
sqlyog 中文乱码问题的设置方法
Oct 19 #PHP
mysql5的sql文件导入到mysql4的方法
Oct 19 #PHP
php flush类输出缓冲剖析
Oct 19 #PHP
You might like
防止MySQL注入或HTML表单滥用的PHP程序
2009/01/21 PHP
ThinkPHP CURD方法之page方法详解
2014/06/18 PHP
PHP使用JSON和将json还原成数组
2015/02/12 PHP
PHP模板引擎Smarty中变量的使用方法示例
2016/04/11 PHP
jquery获取下拉列表的值为null的解决方法
2011/03/18 Javascript
Jquery实现三层遍历删除功能代码
2013/04/23 Javascript
JavaScript实现页面实时显示当前时间的简单实例
2013/07/20 Javascript
PHP+jQuery实现随意拖动层并即时保存拖动位置
2015/04/30 Javascript
javascript 常见功能汇总
2015/06/11 Javascript
JS模仿手机端九宫格登录功能实现代码
2016/04/28 Javascript
详解BootStrap中Affix控件的使用及保持布局的美观的方法
2016/07/08 Javascript
Laravel中常见的错误与解决方法小结
2016/08/30 Javascript
详解javascript表单的Ajax提交插件的使用
2016/12/29 Javascript
使用jquery的jsonp如何发起跨域请求及其原理详解
2017/08/17 jQuery
微信小程序踩坑记录之解决tabBar.list[3].selectedIconPath大小超过40kb
2018/07/04 Javascript
vue实现动态按钮功能
2019/05/13 Javascript
js中let能否完全替代IIFE
2019/06/15 Javascript
微信小程序的授权实现过程解析
2019/08/02 Javascript
JQuery发送ajax请求时中文乱码问题解决
2019/11/14 jQuery
解决vue项目axios每次请求session不一致的问题
2020/10/24 Javascript
node.js通过Sequelize 连接MySQL的方法
2020/12/28 Javascript
[53:21]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS LGD-CDEC
2014/05/22 DOTA
[58:11]守擂赛第二周擂主赛 DeMonsTer vs Leopard
2020/04/28 DOTA
python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
2013/12/06 Python
Python实现求最大公约数及判断素数的方法
2015/05/26 Python
Python实现从log日志中提取ip的方法【正则提取】
2018/03/31 Python
浅谈Tensorflow模型的保存与恢复加载
2018/04/26 Python
python实现txt文件格式转换为arff格式
2018/05/31 Python
Python实现绘制双柱状图并显示数值功能示例
2018/06/23 Python
Python3.5 + sklearn利用SVM自动识别字母验证码方法示例
2019/05/10 Python
关于ResNeXt网络的pytorch实现
2020/01/14 Python
Eclipse配置python默认头过程图解
2020/04/26 Python
Django创建一个后台的基本步骤记录
2020/10/02 Python
HTML5之SVG 2D入门8—文档结构及相关元素总结
2013/01/30 HTML / CSS
团组织推优材料
2014/12/29 职场文书
合作意向协议书
2015/01/29 职场文书