使用PHP CodeIgniter记录插入和显示

让我们以员工管理为例,

步骤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函数。我们还发送了一个空消息,稍后我们将对此进行讨论。

您的表格应如下所示:

PHP的CURD 1

现在是时候在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>

这将显示所有员工的数据,如下所示。

PHP的CURD 2