Maison  >  Article  >  développement back-end  >  Explication détaillée du cas du code de fonction de publication dynamique pour le site du système d'information sur les étudiants basé sur le framework Codeigniter

Explication détaillée du cas du code de fonction de publication dynamique pour le site du système d'information sur les étudiants basé sur le framework Codeigniter

黄舟
黄舟original
2017-03-24 09:32:061359parcourir

Cet article présente principalement l'implémentation étudiante basée sur Codeigniterframework Informations fonction de publication dynamique du site système, analyse détaillée des instructions SQL de la base de données liées aux sites dynamiques, fonctions MVC et techniques d'implémentation de chaque module, les amis dans le besoin peuvent se référer à

Cet article décrit un exemple basé sur sur Codeigniter La fonction de publication dynamique du site du système d'information étudiant implémentée par le framework est partagée avec tout le monde pour votre référence. Les détails sont les suivants :

Puisqu'il s'agit d'un site dynamique, il doit y avoir une table de base de données. Ne disons pas de bêtises ici. Jetons un coup d'œil à la base de données. Tableau :

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;

*Remarque : Il y a deux endroits que je dois expliquer ici :

1. " : Si la donnée est créée dans la table, ajoutez-la devant. Si "SI NON EXISTE" est activé, cela signifie que même si la table existe déjà, elle sera exécutée avec succès ;

2. "MOTEUR =INNODB : Il s'agit du paramètre du moteur de la base de données, couramment utilisé base de données mysqlLes moteurs incluent ISAM, MYISAM, HEAP, etc. ;

Après avoir créé la table de données, jetons un coup d'œil lors de la connexion à la base de données. Ouvrez le fichier .applicationconfigdatabase.php et définissez les paramètres de la variable de base de données dans .applicationconfigconfig. Définissez l'URL de base dans le fichier php. Pour moi, l'URL de base est : localhost/codeigniter/

<.>Jetons un coup d'œil à la conception de mvc idea

architecture

Ouvrez d'abord le répertoire de fichiers .applicationcontrollers et créez un student.php

controller :

student.php

Ici, nous le testons d'abord via le contrôleur étudiant. Imprimez helloworld. N'oubliez pas que le chemin d'accès est : 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";
    }
}
. il affiche : helloworld

Changeons-le et voyons Le code suivant :

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(
      &#39;title&#39;=>&#39;Classroom:Home page&#39;,
      &#39;headline&#39;=>&#39;welcome to the classroom Mangement System&#39;,
      &#39;include&#39;=>&#39;student_index&#39;
    );
    //index function
    public function index(){
      $this->load->view(&#39;template&#39;,$this->arraydata);
    }
}
Ce code nécessite une

vue, 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>
où :

this−>load−>view(include);
contient un autre fichier de vue student_index.php fichier

student_index.php :

<p>Congratulations. Your initial setup is complete!</p>
Sortie conjointe :

welcome to the classroom Mangement System
Congratulations. Your initial setup is complete!

CURD de données

Contrôleur C

Regardons d'abord le processus d'ajout de données , ajoutez une méthode add (dans le contrôleur étudiant)

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 view

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;
?>

Modèle M

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn