|
本帖最后由 bigdos 于 2011-6-23 21:18 编辑
一共看了没有几本关于CI的书,这是第三本,第一本《PHP 敏捷开发框架 CodeIgniter》,当时刚开始接触CI,没有感觉——无从下手。后来看了IBM网站上的一篇实例文章“使用Codeigniter开发动态网站”,有点感觉。又看《Packtpub CodeIgniter 1.7 professional development》,这本用的是1.7版本,碰到许多版本结构问题,没办法回头看手册!这本书也是老版本1.6的,很多地方需要改啦。记录一下学习过程中的问题,如有疏漏请大家指正。预备:我配置了XPsp3 / IIS5 / MSSqlServer2000+sp4 / php5.3.6 / fastcgi1.5 / 微软出的php mssql 驱动 SQLSRV20 / url_modrewrite .如果不明白请参考 相关网文配置。
1、建筑的骨架 model,controller,view
1)首先创建数据表 categories
(mysql)
CREATE TABLE `categories` (
`id` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
`shortdesc` varchar(255) NOT NULL,
`longdesc` text NOT NULL,
`status` enum('active','inactive') NOT NULL,
`parentid` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
(mssql)
CREATE TABLE [dbo].[categories] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[name] [varchar] (255) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[shrtdesc] [varchar] (255) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[logdesc] [text] COLLATE Chinese_PRC_CI_AS NOT NULL ,
[status] [bit] NOT NULL ,
[parentid] [int] NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
然后Products 表
(mysql)
CREATE TABLE `products` (
`id` INT NOT NULL AUTO_INCREMENT ,
`name` VARCHAR( 255 ) NOT NULL ,
`shortdesc` VARCHAR( 255 ) NOT NULL ,
`longdesc` TEXT NOT NULL ,
`thumbnail` VARCHAR( 255 ) NOT NULL ,
`image` VARCHAR( 255 ) NOT NULL ,
`sizes` ENUM('s','m', 'l', 'xl' ) NOT NULL ,
`colors` ENUM( 'red', 'blue', 'green', 'brown', 'white', 'black' ) NOT NULL ,
`grouping` VARCHAR( 16 ) NOT NULL ,
`status` ENUM( 'active', 'inactive' ) NOT NULL ,
`category_id` INT NOT NULL ,
`featured` ENUM ('true', 'false') NOT NULL,
`price` FLOAT( 4, 2 ) NOT NULL,
PRIMARY KEY ( `id` )
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
(mssql)
CREATE TABLE [dbo].[products] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[name] [varchar] (255) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[shortdesc] [varchar] (255) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[longdesc] [text] COLLATE Chinese_PRC_CI_AS NOT NULL ,
[thumbnail] [varchar] (255) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[image] [varchar] (255) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[sizes] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[colors] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[grouping] [varchar] (16) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[status] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[category_id] [int] NOT NULL ,
[featured] [bit] NULL ,
[price] [decimal](18, 2) NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
注意:由于mssql和mysql的差异,Enum类型在mssql中根据情况作了转换,有的可以用bit替代,有的只能在编程中解决啦。
OK,数据库准备妥当,下面就是先各个建立Model文件,构造出整个应用的"骨骼"。"骨骼"在这里意味着每个文件添加两个函数,一个用来选择某个product/category的详细信息,另外一个则用来显示对应表的全部信息列表。
|
评分
-
查看全部评分
|