Heim > Artikel > Backend-Entwicklung > Ausführliche Erläuterung des Falles des dynamischen Veröffentlichungsfunktionscodes für die Website des Studenteninformationssystems basierend auf dem Codeigniter-Framework
In diesem Artikel wird hauptsächlich die Studentenimplementierung basierend auf Codeigniter vorgestelltFramework Informationen System-Site-Dynamic-Publishing-Funktion, detaillierte Analyse von Datenbank-SQL-Anweisungen im Zusammenhang mit dynamischen Sites, MVC-Funktionen und Implementierungstechniken jedes Moduls, Freunde in Not können sich darauf beziehen
Dieser Artikel beschreibt ein Beispiel auf Codeigniter Die vom Framework implementierte dynamische Veröffentlichungsfunktion der Studenteninformationssystem-Site wird zu Ihrer Referenz für alle freigegeben. Die Details lauten wie folgt:
Da es sich um eine dynamische Site handelt, muss eine Datenbanktabelle vorhanden sein. Lass uns hier keinen Unsinn reden. Werfen wir einen Blick auf die Datenbank:
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;
*Hinweis: Es gibt zwei Stellen, die ich hier erklären muss:
1 ": Wenn die Daten in der Tabelle erstellt werden, fügen Sie sie voran. Wenn "IF NOT EXISTS" festgelegt ist, bedeutet dies, dass die Ausführung auch dann erfolgreich ist, wenn die Tabelle bereits vorhanden ist;
2. "ENGINE =INNODB": Dies ist die Engine-Einstellung der Datenbank, die häufig verwendet wird MySQL-DatenbankZu den Engines gehören ISAM, MYISAM, HEAP usw.;
Nachdem wir die Datentabelle erstellt haben, werfen wir einen Blick darauf an der Datenbankverbindung. Öffnen Sie die Datei .applicationconfigdatabase.php und legen Sie die Basis-URL in der PHP-Datei fest. Für mich lautet die Basis-URL: localhost/codeigniter/
Werfen wir einen Blick auf das Design der MVC-IdeeArchitektur
Öffnen Sie zunächst das Dateiverzeichnis .applicationcontrollers und erstellen Sie einen student.phpController:
student.php
Hier testen wir es zunächst über den Student-Controller. Drucken Sie helloworld aus. Denken Sie daran, dass der Zugriffspfad lautet: 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-Ausgabe: helloworld
Ändern wir es und sehen uns den folgenden Code an:
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); } }
Dieser Code erfordert eine Ansicht, 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>
wobei:
this−>load−>view(include);
eine andere Ansichtsdatei enthält student_index.php Datei
student_index.php:
<p>Congratulations. Your initial setup is complete!</p>
Gemeinsame Ausgabe:
welcome to the classroom Mangement System Congratulations. Your initial setup is complete!
CURD von Daten
C-Controller
Sehen wir uns zunächst den Prozess zum Hinzufügen von Daten an , fügen Sie eine Add-Methode (im Student-Controller) hinzu
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-Ansicht
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-Modell
class MStudent extends CI_Model{ public function addData($data){ $this->db->insert('student',$data); } public function updateData(){ $this->db->get('student'); } }
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung des Falles des dynamischen Veröffentlichungsfunktionscodes für die Website des Studenteninformationssystems basierend auf dem Codeigniter-Framework. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!