基于Codeigniter框架实现的student信息系统站点动态发布功能详解

2018-09-07 21:38

阅读:248

  本文实例讲述了基于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等;

  具体参考资料:

  在创建完数据表之后,我们再来看一下数据库的连接。打开.\application\config\database.php文件,在内设置数据库变量参数,在.\application\config\config.php文件内设置基本的URL,对于我的基本url是:

  下面我们来看看mvc思想架构的设计

  首先打开.application\controllers\文件目录,在里面创建一个student.php控制器:

  student.php

  在此我们先来通过student这个控制器来测试一下,打印出helloworld,记住访问路径是:

   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

  其中:

   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程序设计有所帮助。


评论


亲,登录后才可以留言!