这里有新鲜出炉的 CodeIgniter 用户指南,程序狗速度看过来!
CodeIgniter 是一个简单快速的 PHP MVC 框架。EllisLab 的工作人员发布了 CodeIgniter。许多企业尝试体验过所有 PHP MVC 框架之后,CodeIgniter 都成为赢家,主要是由于它为组织提供了足够的自由支持,允许开发人员更迅速地工作。
这篇文章主要介绍了基于 Codeigniter 框架实现的 student 信息系统站点动态发布功能, 详细分析了动态站点相关的数据库 sql 语句、MVC 各个模块功能与实现技巧, 需要的朋友可以参考下
本文实例讲述了基于 Codeigniter 框架实现的 student 信息系统站点动态发布功能。分享给大家供大家参考,具体如下:
既然是动态站点,肯定有数据库表的存在,在此不废话,下面我们来看一下数据库表:
- CREATE TABLE IF NOT EXISTS`student` (
- //主键id
- `id`int(11) NOT NULL AUTO_INCREMENT,
- //学生姓名
- `s_name`varchar(64) NOT NULL,
- //学生家长的姓名
- `p_name`varchar(64) NOT NULL,
- //学生的家庭住址
- `address`varchar(100) NOT NULL,
- //所在城市
- `city`varchar(30) NOT NULL,
- //所在国家
- `state`varchar(30) NOT NULL,
- //所在地区的邮政编码
- `zip`varchar(20) NOT NULL,
- //电话
- `phone`varchar(15) NOT NULL,
- //邮件
- `email`varchar(20) NOT NULL,
- //主键设置
- PRIMARY KEY(`id`)) ENGINE = INNODB DEFAULT CHARSET = UTF8 AUTO_INCREMENT = 1;
* 注:在此我有两个地方需要解释一下:
1."IF NOT EXISTS": 如果数据在创建表的时候,在前面加上了 "IF NOT EXISTS", 那就表明即使此表已经存在,也会执行成功;
2."ENGINE=INNODB": 这个是数据库的引擎设置,常用 mysql 数据库引擎有 ISAM,MYISAM,HEAP 等;
具体参考资料:http://baike.baidu.com/view/68455.htm
在创建完数据表之后,我们再来看一下数据库的连接。打开.\application\config\database.php 文件,在内设置数据库变量参数,在.\application\config\config.php 文件内设置基本的 URL, 对于我的基本 url 是:http://localhost/codeigniter/
下面我们来看看 mvc 思想架构的设计
首先打开. application\controllers \ 文件目录,在里面创建一个 student.php 控制器:
student.php
在此我们先来通过 student 这个控制器来测试一下,打印出 helloworld, 记住访问路径是:http://localhost/codeigniter/index.php/student/index
- class student extends CI_Controller{
- //student controller construct
- public function __construct(){
- parent::__construct();
- }
- //index test function
- public function index(){
- echo "helloworld";
- }
- }
it output: helloworld
下面我们来换一下, 看看下面这段 code:
- class student extends CI_Controller{
- //student controller
- public function __construct(){
- parent::__construct();
- }
- //define a array,name is arraydata, it have three parameters
- protected $arraydata=array(
- 'title'=>'Classroom:Home page',
- 'headline'=>'welcome to the classroom Mangement System',
- 'include'=>'student_index'
- );
- //index function
- public function index(){
- $this->load->view('template',$this->arraydata);
- }
- }
这段代码需要一个视图,template.php
template.php:
- <!DOCTYPE html PUBLIC '-//W3C//DTD HTML 4.01 Strict//EN' 'http://www.w3.org/TR/html4/strict.dtd'>
- <html>
- <head>
- <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
- <title><?php echo $title; ?></title>
- </head>
- <body>
- <h1><?php echo $headline; ?></h1>
- <?php $this->load->view($include)?>
- </body>
- </html>
其中:
- this− > load− > view(include);
包含的是另外一个视图文件 studen_index.php 文件
student_index.php:
- <p>Congratulations. Your initial setup is complete!</p>
联合输出:
- welcome to the classroom Mangement System
- Congratulations. Your initial setup is complete!
数据的 CURD
C 控制器
先来看看数据的增加过程,在 student 控制器中增加一个 add() 方法
- class student extends CI_Controller{
- //student controller
- public function __construct(){
- parent::__construct();
- }
- //new add function
- public function add(){
- $this->load->helper('form');
- //display information for the view
- $data['title']='Classroom:Add Page';
- $data['headline']='Add data';
- $data['include']='student_add';
- //upload view
- $this->load->view('template',$data);
- }
- //create function
- public function create(){
- $this->load->helper('url');
- $this->load->model('MStudent','',TRUE);
- $this->MStudent->addData($_POST);
- redirect('student/add','reflesh');
- }
- //update function
- public function update(){
- //upload codeigniter library
- $this->load->library('table');
- $this->load->model('MStudent','',TRUE);
- $student_query=$this->MStudent->updateData();
- $update_table=$this->table->generate($student_query);
- //display information for the view
- $data['title']='Classroom:Update Page';
- $data['headline']='Update Page';
- $data['include']='update_student';
- $data['updatetable']=$update_table;
- $this->load->view('template',$data);
- }
- //index function
- public function index(){
- $data['title']='Classroom:Home page';
- $data['headline']='welcome to classroom Mangement System';
- $data['include']='student_index';
- $this->load->view('template',$this->arraydata);
- }
- }
V 视图
template .php
- <html>
- <head>
- <title><?php echo $title;?></title>
- </head>
- <body>
- <h1><?php echo $headline ?></h1>
- <?php $this->load->view($include)?>
- </body>
- </html>
student_add.php
- <?php
- echo form_open('student/create');
- $field_name=array('s_name','p_name','address','city','state','zip','phone','email');
- foreach($field_name as $value){
- echo "<p>".$value.":"
- echo form_input(array('name'=>$value));
- echo "</p>"
- }
- form_submit('','Add');
- form_close();
- ?>
update_student.php
- <?php
- echo $updatetable;
- ?>
M 模型
- class MStudent extends CI_Model{
- public function addData($data){
- $this->db->insert('student',$data);
- }
- public function updateData(){
- $this->db->get('student');
- }
- }
希望本文所述对大家基于 CodeIgniter 框架的 PHP 程序设计有所帮助。
来源: http://www.phperz.com/article/17/0805/340318.html