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

Ausführliche Erläuterung des Falles des dynamischen Veröffentlichungsfunktionscodes für die Website des Studenteninformationssystems basierend auf dem Codeigniter-Framework

黄舟
黄舟Original
2017-03-24 09:32:061412Durchsuche

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 &#39;-//W3C//DTD HTML 4.01 Strict//EN&#39; &#39;http://www.w3.org/TR/html4/strict.dtd&#39;>
<html>
<head>
<meta http-equiv=&#39;Content-Type&#39; content=&#39;text/html; charset=utf-8&#39;>
<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(&#39;form&#39;);
      //display information for the view
      $data[&#39;title&#39;]=&#39;Classroom:Add Page&#39;;
      $data[&#39;headline&#39;]=&#39;Add data&#39;;
      $data[&#39;include&#39;]=&#39;student_add&#39;;
      //upload view
      $this->load->view(&#39;template&#39;,$data);
    }
    //create function
    public function create(){
      $this->load->helper(&#39;url&#39;);
      $this->load->model(&#39;MStudent&#39;,&#39;&#39;,TRUE);
      $this->MStudent->addData($_POST);
      redirect(&#39;student/add&#39;,&#39;reflesh&#39;);
    }
    //update function
    public function update(){
      //upload codeigniter library
      $this->load->library(&#39;table&#39;);
      $this->load->model(&#39;MStudent&#39;,&#39;&#39;,TRUE);
      $student_query=$this->MStudent->updateData();
      $update_table=$this->table->generate($student_query);
      //display information for the view
      $data[&#39;title&#39;]=&#39;Classroom:Update Page&#39;;
      $data[&#39;headline&#39;]=&#39;Update Page&#39;;
      $data[&#39;include&#39;]=&#39;update_student&#39;;
      $data[&#39;updatetable&#39;]=$update_table;
      $this->load->view(&#39;template&#39;,$data);
    }
    //index function
    public function index(){
      $data[&#39;title&#39;]=&#39;Classroom:Home page&#39;;
      $data[&#39;headline&#39;]=&#39;welcome to classroom Mangement System&#39;;
      $data[&#39;include&#39;]=&#39;student_index&#39;;
      $this->load->view(&#39;template&#39;,$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(&#39;student/create&#39;);
  $field_name=array(&#39;s_name&#39;,&#39;p_name&#39;,&#39;address&#39;,&#39;city&#39;,&#39;state&#39;,&#39;zip&#39;,&#39;phone&#39;,&#39;email&#39;);
  foreach($field_name as $value){
    echo "<p>".$value.":"
    echo form_input(array(&#39;name&#39;=>$value));
    echo "</p>"
  }
  form_submit(&#39;&#39;,&#39;Add&#39;);
  form_close();
?>

update_student .php

<?php
  echo $updatetable;
?>

M-Modell

class MStudent extends CI_Model{
  public function addData($data){
    $this->db->insert(&#39;student&#39;,$data);
  }
  public function updateData(){
    $this->db->get(&#39;student&#39;);
  }
}

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn