让我们以员工管理为例,
步骤1:首先,您必须在数据库中以“ EmployeeManager”的形式创建新模式。在此架构中,创建表名称Employee并在其中添加以下字段。
您在这里准备好餐桌了。
第2步:现在您已经准备好数据库,是时候制作CURD了。首先,我们必须创建我们的表单。在PHP项目文件夹的views文件夹中创建一个名为“ EmployeeView.php”的文件,并在其中添加以下代码。
<html> <form action='/EmployeeManager/index.php/EmployeeController/add_employee'> <center> <table> <caption><b><i><font color='blue' size='5'>Employee Interface</i></b></font></caption> <tr><td><b><i>Employee Name</i></b></td><td><input type='text' name='empname'></td></tr> <tr><td><b><i>DOB</i></b></td><td><input type='text' name='dob'></td></tr> <tr><td><b><i>Salary</i></b></td><td><input type='text' name='salary'></td></tr> <tr><td><b><i>Department</i></b></td><td><input type='text' name='deptname'></td></tr> <tr><td><b><i>Position</i></b></td><td><input type='text' name='position'></td></tr> <tr><td><input type='submit'></td><td><input type='reset'></td></tr> </table> </center> </form> <?php echo $message; ?> //打印消息 </html>
这是HTML表格,将显示给用户输入Employee的详细信息。由于我们还没有控制器,因此我们无法测试此代码。因此,现在我们将制造或控制。
步骤3:在PHP CodeIgniter项目的控制器文件夹中创建一个名为“ EmployeeController.php”的文件,并将此代码添加到其中。
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class EmployeeController extends CI_Controller{ function __construct() { parent::__construct(); } public function index() { $data['message']=""; $this->load->view('EmployeeView',$data); } } ?>
现在,使用URL运行代码:http://localhost/EmployeeManager/index.php/EmployeeController/
员工经理是您的项目名称。在这里,我们没有指定EmployeeController的任何函数,因此默认情况下将在加载EmployeeView的地方调用index函数。我们还发送了一个空消息,稍后我们将对此进行讨论。
您的表格应如下所示:
现在是时候在SQL表“ employee”中插入记录了。
步骤4:首先,您需要在项目中设置数据库名称。为此,请打开应用程序→配置→database.php
'hostname' => 'localhost', 'username' => 'root', 'password' => '123', 'database' => 'EmployeeManager', 'dbdriver' => 'mysqli',
步骤5:现在创建模型,创建一个名为“ EmployeeModel.php”的文件。在这里,我们将使函数在MySQL中插入数据。
<?php class EmployeeModel extends CI_Model{ function __construct() { parent::__construct(); $this->load->database();//加载数据库 } function add_record($values)//将值添加到员工表中 { $result=$this->db->insert('employee',$values); return($result); } function display_all()//显示所有记录的功能 { $query=$this->db->get('employee'); return($query->result()); } } ?>
这些函数将由Controller调用,因此我们将使Controller中的函数调用模型函数。
步骤6:在Controller中进行添加和显示功能。您完整的控制器将如下所示,
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class EmployeeController extends CI_Controller{ function __construct() { parent::__construct(); $this->load->model('EmployeeModel');//加载模型 } public function index() { $data['message']=""; $this->load->view('EmployeeView',$data); } public function add_employee() //从视图获取值并将其发送到模型的功能 { $values['name']=$_GET['empname']; $values['dob']=$_GET['dob']; $values['salary']=$_GET['salary']; $values['department']=$_GET['deptname']; $values['position']=$_GET['position']; $result=$this->EmployeeModel->add_record($values); //调用模型函数add_record- if($result) { $data['message']="Employee Added";//要发送给查看的消息 } else { $data['message']="failed to add Employee...don't worry,try again!:)"; } $this->load->view('EmployeeView',$data); } public function display_all() //显示数据库中所有记录的方法 { $result=$this->EmployeeModel->display_all(); $data['result']=$result; $this->load->view('EmployeeDisplayAll',$data); } } ?>
步骤7:要显示所有视图页面,请在视图中创建一个名为“ EmployeeDisplayAll.php”的文件。
<html> <center><b><font size='5' color='blue'> List of All Employees</font></b> <table border=1> <tr> <th>Employee ID</th> <th>Employee Name</th> <th>DOB</th> <th>Salary</th> <th>Department</th> <th>Position</th> </tr> <?php foreach($result as $rec) { echo "<tr> <td>$rec->id</td>< td>$rec->name</td> <td>$rec->dob</td> <td>$rec->salary</td> <td>$rec->department</td> <td>$rec->position</td> </tr>"; } ?> </table> </center> </html>
这将显示所有员工的数据,如下所示。