本文实例讲述了基于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:
<?php echo $title; ?><?php echo $headline; ?>
<?php $this->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
<?php echo $title;?><?php echo $headline ?>
<?php $this->load->view($include)?>
student_add.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 "
".$value.":"
echo form_input(array('name'=>$value));
echo "
"}
form_submit('','add');
form_close();
?>
update_student.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框架的php程序设计有所帮助。
希望与广大网友互动??
点此进行留言吧!