当前位置: 首页 > 编程笔记 >

使用PHP CodeIgniter记录插入和显示

狄凯
2023-03-14
本文向大家介绍使用PHP CodeIgniter记录插入和显示,包括了使用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

 类似资料:
  • OrientDB是一个NoSQL数据库,可以存储文档和面向图形的数据。 NoSQL数据库不包含任何表,那么要如何将数据作为记录插入?在这里,您可以以类,属性,顶点和边的形式查看表数据,类表就像表,属性就像表中的文件。 可以在OrientDB中使用模式定义所有这些实体。 属性数据可以被插入到一个类中。 插入命令在数据库模式中创建一条新记录。 记录可以无模式或遵循一些指定的规则。 以下语句是“插入记录

  • 问题内容: 我想在表中添加可变数量的记录(天) 我已经看到了一个很好的解决方案: 但是可悲的是,这在UDF中不起作用(因为#temp和SET ROWCOUNT)。知道如何实现吗? 目前,我正在使用WHILE和表变量来完成此操作,但是就性能而言,这并不是一个好的解决方案。 问题答案: 这是我正在使用的方法,并且对于我的目的和使用SQL 2000来说效果最佳。因为就我而言,它位于UDF中,所以我不能使

  • 问题内容: 我在MySQL中用一个表创建了一个数据库: 我尝试使用Java插入记录: 输出似乎成功返回: 但是,当我从MySQL中选择时,插入的记录为空: 为什么插入空白记录? 问题答案: 不,这是行不通的(不适用于真实数据): 更改为: 使用该sql创建一个PreparedStatment,并使用索引插入值:

  • 问题内容: 有没有办法一次插入多个记录而不是一次插入? 我有一个非常丑陋的耙子任务,正在做以下事情… 这必须非常低效,并且必须有更好的方法… 问题答案: 该方法也将数组作为参数。 但是,它仍然对每个条目执行一个SQL查询,而不是单个SQL查询。它效率更高,因为它只需要在后台创建一个activerecord对象。 如果要同时从同一客户端插入许多行,请使用带有多个VALUES列表的INSERT语句一次

  • 提供用户对应多角色的权限管理系统,兼容手机网页端,除了权限管理,还内含通用上传模块,只要在系统建立上传参数,即可任意表单上调用,不需要再写上传程序。 技术要求: 底层框架 CodeIgniter3.0 php>=5.5 mysql>=5.1 建议apache 初始数据库: db.sql 后台用户名/密码:aiw/adminadmin。 这次更新是基础框架,往后会逐步完善功能,主要是通用功能,如:通用审核,通用增删查改

  • 问题内容: 我正在使用CakePHP v3.x,并且试图弄清楚如何通过迁移工具插入一些记录。该文档仅列出了用于修改架构的方法。我是否需要使用原始SQL手动插入记录? 问题答案: CakePHP 3的Migration插件是Phinx包装器插件,因此可以使用以下方法添加记录: 例如,你可以使用添加新用户上: - 如果使用,请不要忘了在迁移文件的顶部添加。 对于CakeDC的Migration插件,您