您现在的位置是:门户> 编程语言> PHP

基于Codeigniter框架实现的student信息系统站点动态发布功能详解
2020-10-18 12人围观 0条评论
简介这篇文章主要介绍了基于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:

    
    
    
    
    
    
    
      
      load->view($include)?>
    
    
    
    

    其中:

    this−>load−>view(include);

    包含的是另外一个视图文件studen_index.php文件

    student_index.php:

    Congratulations. Your initial setup is complete!

    联合输出:

    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

    
      
        
      
      
        
        load->view($include)?>
      
    
    
    

    student_add.php

    ".$value.":"
        echo form_input(array('name'=>$value));
        echo "

    " } form_submit('','Add'); form_close(); ?>

    update_student.php

    
    
    

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

分享:

文章评论

    • wxpython 学习笔记 第一天
    • python文本数据处理学习笔记详解