本文实例讲述了基于Codeigniter框架实现的student信息系统站点动态发布功能。分享给大家供大家参考,具体如下:
既然是动态站点,肯定有数据库表的存在,在此不废话,下面我们来看一下数据库表:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
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
1
2
3
4
5
6
7
8
9
10
|
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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
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:
1
2
3
4
5
6
7
8
9
10
11
|
<!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> |
其中:
1
|
this−>load−>view( include ); |
包含的是另外一个视图文件studen_index.php文件
student_index.php:
1
|
< p >Congratulations. Your initial setup is complete!</ p > |
联合输出:
1
2
|
welcome to the classroom Mangement System Congratulations. Your initial setup is complete! |
数据的CURD
C 控制器
先来看看数据的增加过程,在student控制器中增加一个add()方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
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
1
2
3
4
5
6
7
8
9
|
<html> <head> <title><?php echo $title ;?></title> </head> <body> <h1><?php echo $headline ?></h1> <?php $this ->load->view( $include )?> </body> </html> |
student_add.php
1
2
3
4
5
6
7
8
9
10
11
|
<?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
1
2
3
|
<?php echo $updatetable ; ?> |
M 模型
1
2
3
4
5
6
7
8
|
class MStudent extends CI_Model{ public function addData( $data ){ $this ->db->insert( 'student' , $data ); } public function updateData(){ $this ->db->get( 'student' ); } } |
希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。