ホームページ >バックエンド開発 >PHPチュートリアル >Codeigniterフレームワークをベースにした学生情報システムサイトの動的公開機能コード事例の詳細説明

Codeigniterフレームワークをベースにした学生情報システムサイトの動的公開機能コード事例の詳細説明

黄舟
黄舟オリジナル
2017-03-24 09:32:061471ブラウズ

この記事ではCodeigniterフレームワークをベースにした学生情報システムサイトのダイナミックパブリッシング機能を中心に紹介し、詳細を分析しました動的サイトに関連するデータベース SQL ステートメント、MVC関数、および各モジュールの実装テクニックを必要とする友人はそれを参照できます

この記事では、Codeigniter フレームワークに基づく学生情報システム サイトの動的公開機能について説明し、共有します。参考までに、詳細は次のとおりです。

これは動的サイトであるため、データベース テーブルが存在する必要があります。ここでデータベース テーブルを見てみましょう:

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;

*注:ここで説明する必要がある 2 つの箇所:

1.「IF NOT EXISTS」: テーブル作成時にデータの前に「IF NOT EXISTS」を追加すると、テーブルが既に存在する場合でも、正常に実行されました。

2."ENGINE=INNODB ": これはデータベースのエンジン設定です。一般的に使用される mysql データベース エンジンには ISAM、MYISAM、HEAP などが含まれます。データベース接続を確認します。.applicationconfigdatabase.php ファイルを開いて内部に設定します。データベース変数パラメーターについては、.applicationconfigconfig.php ファイルに基本 URL を設定します。私の場合、基本 URL は localhost/codeigniter/


です。 mvc アイデアの設計を見てみましょう

アーキテクチャ

まず、.applicationcontrollers ファイル ディレクトリを開き、その中に Student.phpcontroller

を作成します:

student.php

ここでは、最初に Student コントローラーを通じてテストします。 helloworld を出力します。アクセス パスが 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";
    }
}

出力: helloworld

これを変更して、次のコードを見てみましょう:

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);
    }
}

このコードには

viewが必要です

、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>

その中に:

this−>load−>view(include);

には別のビューファイルstudent_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(&#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;
?>

Mモデル

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;);
  }
}

以上がCodeigniterフレームワークをベースにした学生情報システムサイトの動的公開機能コード事例の詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。