欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-03-13 13:36:57
本文实例讲述了基于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程序设计有所帮助。