找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1565|回复: 0
打印 上一主题 下一主题

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

[复制链接]

2500

主题

2513

帖子

7520

积分

论坛元老

Rank: 8Rank: 8

积分
7520
跳转到指定楼层
楼主
发表于 2018-2-14 09:22:25 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

            首先建立数据库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`)
    )
    [color=]ENGINE
    =
    [color=]MyISAM

    [color=]AUTO_INCREMENT
    =
    [color=]8
    DEFAULT
    [color=]CHARSET
    =
    [color=]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');[/ol]
    如下图所示建立工程:

    数据库配置文件如下:

  • [color=]class
    DATABASE_CONFIG
    {
  •    
    [color=]var

    [color=]$default
    =
    [color=]array
    (
    [color=]'driver'
    =>
    [color=]'mysql'
    ,
                                    
    [color=]'connect'
    =>
    [color=]'mysql_connect'
    ,
  •                                 
    [color=]'host'
    =>
    [color=]'localhost'
    ,
                                    
    [color=]'login'
    =>
    [color=]'root'
    ,
  •                                 
    [color=]'password'
    =>
    [color=]'root'
    ,
                                    
    [color=]'database'
    =>
    [color=]'cake_ext'
    ,
  •                                 
    [color=]'prefix'
    =>
    [color=]''
    );
  •    
    [color=]var

    [color=]$test
    =
    [color=]array
    (
    [color=]'driver'
    =>
    [color=]'mysql'
    ,
                               
    [color=]'connect'
    =>
    [color=]'mysql_connect'
    ,
  •                            
    [color=]'host'
    =>
    [color=]'localhost'
    ,
                               
    [color=]'login'
    =>
    [color=]'root'
    ,
  •                            
    [color=]'password'
    =>
    [color=]'root'
    ,
                               
    [color=]'database'
    =>
    [color=]'cake_ext'
    ,
  •                            
    [color=]'prefix'
    =>
    [color=]''
    );
    }[/ol]
    companies_controller.php:


  • [color=]class
    CompaniesController
    [color=]extends
    AppController
  • {
       
    [color=]var

    [color=]$name
    =
    [color=]'Companies'
    ;
  •      
       
    [color=]function
    index()
  •     {
            
    [color=]$this
    ->set(
    [color=]'companies'
    ,
    [color=]$this
    ->Company->findAll());
  •     }
         
  •    
    [color=]function
    view(
    [color=]$id
    = null)
        {
  •         
    [color=]$this
    ->Company->id =
    [color=]$id
    ;
            
    [color=]$this
    ->set(
    [color=]'company'
    ,
    [color=]$this
    ->Company->read());
  •     }
    }
  • ?>[/ol]
    company.php:


  • [color=]class
    Company
    [color=]extends
    AppModel
  • {
       
    [color=]var

    [color=]$name
    =
    [color=]'Company'
    ;
  • }
    ?>[/ol]
    index.thtml:
  • Test companies

  • Id
  • company
    price
  • change
    last update


  • [color=]foreach
    (
    [color=]$companies

    [color=]as

    [color=]$company
    ): ?>

  • echo
    [color=]$company
    [
    [color=]'Company'
    ][
    [color=]'id'
    ]; ?>

  • echo
    [color=]$html
    ->link(
    [color=]$company
    [
    [color=]'Company'
    ][
    [color=]'company'
    ],
    [color=]"/companies/view/"
    .
    [color=]$company
    [
    [color=]'Company'
    ][
    [color=]'id'
    ]); ?>

  • echo
    [color=]$company
    [
    [color=]'Company'
    ][
    [color=]'price'
    ]; ?>
  • echo
    [color=]$company
    [
    [color=]'Company'
    ][
    [color=]'change'
    ]; ?>
    echo
    [color=]$company
    [
    [color=]'Company'
    ][
    [color=]'lastudp'
    ]; ?>


  • [color=]endforeach
    ; ?>   
  • [/ol]
    view.thtml:
  • Company: echo
    [color=]$company
    [
    [color=]'Company'
    ][
    [color=]'company'
    ]?>
    Id: echo
    [color=]$company
    [
    [color=]'Company'
    ][
    [color=]'id'
    ]?>
  • Price: echo
    [color=]$company
    [
    [color=]'Company'
    ][
    [color=]'price'
    ]?>

    Change: echo
    [color=]$company
    [
    [color=]'Company'
    ][
    [color=]'change'
    ]?>
  • LastUpdate: echo
    [color=]$company
    [
    [color=]'Company'
    ][
    [color=]'lastudp'
    ]?>
    [/ol]
    访问
    [color=]http://localhost/cakephp/companies
    即可运行测试程序。

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

                
                
    您可能感兴趣的文章:
  • 攻克CakePHP(PHP中的Ruby On Rails框架)图文介绍
  • 攻克CakePHP系列一 连接MySQL数据库
  • CakePHP去除默认显示的标题及图标的方法
  • 攻克CakePHP系列三 表单数据增删改
  • 配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
  • 初学CAKEPHP 基础教程
  • Cakephp 执行主要流程
  • 初品cakephp 入门基础
  • cakephp打印sql语句的方法
  • 基于CakePHP实现的简单博客系统实例
  • Nginx配置PHP的Yii与CakePHP框架的rewrite规则示例
  • cakephp2.X多表联合查询join及使用分页查询的方法
  • CakePHP框架Session设置方法分析
  • cakephp常见知识点汇总
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端