本文實例講述了基于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 視圖