基于Codeigniter框架实现的student信息系统站点动态发布功能详解
本文实例讲述了基于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相关内容感兴趣的读者可查看本站专题:《codeigniter入门教程》、《ci(codeigniter)框架进阶教程》、《php优秀开发框架总结》、《thinkphp入门教程》、《thinkphp常用方法总结》、《zend framework框架入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于codeigniter框架的php程序设计有所帮助。
上一篇: git:历史版本回滚、重新回到最新版本及取消修改内容
下一篇: Linux上安装最新版的docker