【PHP项目实战训练】——使用thinkphp框架对数据进行增删改查功能

news2024/11/27 5:35:37

在这里插入图片描述


👨‍💻个人主页:@开发者-曼亿点

👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!

👨‍💻 本文由 曼亿点 原创

👨‍💻 收录于专栏:PHP程序开发

thinkphp的增删查改的实现


请添加图片描述

请添加图片描述

文章目录

    • 前言
    • 🎶一、增
      • (1)添加的界面代码:
    • 🎶二、删
      • (1)删除的逻辑代码:
    • 🎶三、改
      • (1)修改的界面代码:
      • (2)修改的逻辑代码:
        • 结束语🥇


前言

  在使用 ThinkPHP 进行增删查改(CRUD)操作时,掌握这些基本的数据库操作是每个开发者的必备技能。ThinkPHP 作为一款成熟且功能丰富的 PHP 开发框架,为我们提供了便捷而强大的工具来处理数据库。本文将带领您深入了解如何在 ThinkPHP 中实现数据的增加、删除、查询和更新操作,无论是从简单的表单处理到复杂的数据关联,都能够通过框架提供的功能轻松实现。通过学习本文内容,您将能够更加高效地利用 ThinkPHP 构建健壮且可扩展的应用程序,同时提升开发效率和代码质量。


🎶一、增


  在 ThinkPHP 中实现数据增加功能是构建应用程序的重要一环。通过合理利用框架提供的强大功能,您可以轻松地实现数据的持久化存储和管理。本文将引导您了解如何在 ThinkPHP 中利用其便捷的数据库操作方法,实现数据的添加功能。无论您是新手还是有经验的开发者,本文都将提供详细的步骤和实用的技巧,确保您能够快速上手,并能够在您的应用程序中顺利实现数据增加的功能。

(1)添加的界面代码:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title></title>
  <!-- 引入Layui的样式文件 -->
  <link rel="stylesheet" href="__STATIC__/common/layui/css/layui.css">
  <script src="__STATIC__/common/layui/layui.js"></script>
  <script src="__STATIC__/common/js/jquery-3.6.1.min.js"></script>
</head>
<body>
  
  <div class="layui-container">
    <h1>新闻信息</h1>
    
    <form class="layui-form" action="addNews" method="post">
      <div class="layui-form-item">
        <label class="layui-form-label">新闻</label>
        <div class="layui-input-inline">
          <input type="text" name="title" lay-verify="required" autocomplete="off" class="layui-input">
        </div>
      </div>
      
      <div class="layui-form-item">
        <label class="layui-form-label">内容</label>
        <div class="layui-input-inline">
          <input type="text" name="content" lay-verify="required|number" autocomplete="off" class="layui-input" >
        </div>
      </div>
     
      
      <div class="layui-form-item">
        <div class="layui-input-block">
          <button class="layui-btn layui-btn-primary" lay-submit lay-filter="save" type="submit" >保存</button>
        </div>
      </div>
    </form>
    
  </div>

  
</body>
</html>
```1

### (2)添加的逻辑代码:
```javascript
public function addNews()
	{
		//获取内容
		$news = new News($_POST);
		// 过滤post数组中的非数据表字段数据
		$news->allowField(true)->save();
		$this->success('添加成功', 'home');

	}

🎶二、删


  在开发和管理应用程序时,数据的删除功能是至关重要的一环。使用 ThinkPHP,您可以通过简单而有效的方法管理数据库中的记录,保持数据的整洁和一致性。本文将详细介绍如何在 ThinkPHP 中实现数据的删除功能,包括安全性考虑、操作流程以及如何处理关联数据。无论您是刚入门还是有经验的开发者,通过本文的指导,您将能够理解和运用框架提供的强大功能,确保数据操作的高效性和可靠性。

(1)删除的逻辑代码:

	public function delNews(){
		//获取主键
		$id=trim($_GET['id']);
		News::destroy($id);
		$this->success('删除成功', 'home');
	}

🎶三、改


  在应用程序的开发中,数据的修改功能是确保数据准确性和实时性的重要组成部分。利用 ThinkPHP 框架,您可以通过简洁而强大的方法轻松地实现数据的更新操作,无论是简单的字段编辑还是复杂的数据关联。本文将引导您深入了解如何在 ThinkPHP 中有效地实现数据修改功能,包括如何利用框架提供的功能和技术,确保操作的安全性和有效性。无论您是新手还是有经验的开发者,通过本文的指导,您将能够掌握关键的更新操作技能,提升应用程序的质量和用户体验。

(1)修改的界面代码:

<script>
layui.use(['layer'], function () {

var element = layui.element;

var layer = layui.layer;

});

$('body').on('click', 'button', function(e){
    var id = $(e.target).data('cid');
	$.get(
		"findNews",
		{
			"id":id
		},
		function(res){
			var obj=$.parseJSON(res);
			if(obj!=null){
				layer.open({
				type: 1,
				title:'修改新闻',
				area:['800','500'],
				content:  '<div style="padding:20px;">' +
								  '<form class="layui-form" action="updNews" method="post">' +
									'<div class="layui-form-item">' +
									  '<label class="layui-form-label">新闻名</label>' +
									  '<div class="layui-input-block">' +
										'<input  type="hidden" name="id"  value="'+obj.Id+'">' +
										'<input type="text" name="title" required lay-verify="required" placeholder="请输入新闻名" autocomplete="off" class="layui-input" value="'+obj.title+'">' +
									  '</div>' +
									'</div>' +
						
									'<div class="layui-form-item">' +
									  '<label class="layui-form-label">新闻内容</label>' +
									  '<div class="layui-input-block">' +
										'<input type="text" name="content" required lay-verify="required" placeholder="请输入新闻内容" autocomplete="off" class="layui-input"  value="'+obj.content+'">' +
									  '</div>' +
									'</div>' +
						
									'<div class="layui-form-item">' +
									  '<div class="layui-input-block">' +
										'<button class="layui-btn" lay-submit lay-filter="form-submit">提交</button>' +
									  '</div>' +
									'</div>' +
								  '</form>' +
								'</div>', 
								
				});
			}
		}
	);
	
    
});


</script>

(2)修改的逻辑代码:

	public function updNews()
	{
		//获取内容
		$id=trim($_POST['id']);
		$news = new News();
		// 过滤post数组中的非数据表字段数据
		$news->allowField(true)->save($_POST,['id' => $id]);
		$this->success('更新成功', 'home');
	}

  ThinkPHP框架提供了便捷的ORM(对象关系映射)模型操作,通过模型类和其提供的方法,开发者可以轻松进行数据库的增删改查操作。使用模型类封装了数据库表的操作,使得代码更加清晰和易于维护。同时,框架提供了丰富的查询构建器和便捷的数据操作方法,适用于各种规模的应用开发需求。

结束语🥇

以上就是PHP程序设计
持续更新PHP程序设计教程,欢迎大家订阅系列专栏🔥PHP程序开发你们的支持就是曼亿点创作的动力💖💖💖
请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1845321.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Effective Web】常见的css布局方式--三栏布局

常见的css居中方式–三栏布局 第一种实现&#xff1a;table布局&#xff08;不推荐&#xff09; 缺点&#xff1a;在table加载前&#xff0c;整个table都是空白的&#xff0c;且修改布局排版都十分困难 <table class"container"><td class"left"…

《广州化工》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答 问&#xff1a;《广州化工》是不是核心期刊&#xff1f; 答&#xff1a;不是&#xff0c;是知网收录的正规学术期刊 问&#xff1a;《广州化工》级别&#xff1f; 答&#xff1a;省级。主办单位&#xff1a;广州化工集团有限公司 主管单位&#xff1a;广州化工…

学生护眼大路灯应该怎么选?五款护眼大路灯对比推荐

我们都知道光线无处不在&#xff0c;想要减少近视隐患&#xff0c;就不得不提一下护眼灯了&#xff0c;特别是经常坐在电脑前码字的上班族以及深夜还在学习的学生党这一类人群&#xff0c;经常用眼光线不好不仅影响视力健康&#xff0c;还会影响效率。而一款护眼灯能够提供柔和…

环境配置02:CUDA安装

1. CUDA安装 Nvidia官网下载对应版本CUDA Toolkit CUDA Toolkit 12.1 Downloads | NVIDIA Developer CUDA Toolkit 12.5 Downloads | NVIDIA Developer 安装配置步骤参考&#xff1a;配置显卡cuda与配置pytorch - 知乎 (zhihu.com) 2. 根据CUDA版本&#xff0c;安装cudnn …

【node】启动本地打包文件的方式

前言 … 目标 1 初始化node文件 2 将打包文件通过node发布到本地 3 系列文件 【node】创建本地接口 一 node方式 1 在新建一个空的文件夹node 进入空文件夹在,文件夹的地址栏输入cmd回车,会自动跳转到命令行工具里 2 配置初始化文件 在命令行输入命令npm init,生成pac…

git 上拉下来的新项目web文件夹没有被idea管理,导致启动不了

让idea识别web项目&#xff0c;操作步骤&#xff1a; 1. 打开idea -- 文件 -- 项目结构&#xff1b; 2. 选择 模块 --- 添加 --- web -- 应用 --- 确定&#xff0c;就好了。 3. 文件夹中间出现个圆圈就是被识别到了。

vscode插件开发之 - TestController

TesController概要介绍 TestController 组件是用于实现自定义测试框架和集成测试结果的。它允许开发者定义自己的测试运行器&#xff0c;以支持在VSCode中运行和展示测试。以下是一些使用 TestController 组件的主要场景&#xff1a; 自定义测试框架&#xff1a;如果你正在开发…

如何通过自定义模块DIY出专属个性化的CSDN主页?一招教你搞定!

个人主页&#xff1a;学习前端的小z 个人专栏&#xff1a;HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结&#xff0c;欢迎大家在评论区交流讨论&#xff01; 文章目录 &#x1f4af;如何通过HTMLCSS自定义模板diy出自己的个性化csdn主页&#x…

学分制系统 GetCalendarContentById SQL注入致RCE漏洞复现

0x01 产品简介 学分制系统由上海鹏达计算机系统开发有限公司研发,是基于对职业教育特点和需求的深入理解,结合教育部相关文件精神,并广泛吸纳专家、学者意见而开发的一款综合性管理系统。系统采用模块化的设计方法,方便学校根据自身教学改革特点、信息化建设进程情况选择、…

使用 Java 构建和消费 RESTful 服务的基本方法

REST&#xff08;Representational State Transfer&#xff09;是一种架构风格&#xff0c;它基于Web标准和HTTP协议&#xff0c;常用于构建网络服务。使用Java构建和消费RESTful服务需要掌握一些基本概念和技术。 一、RESTful服务的基本概念 1. REST架构风格 REST架构风格的…

Linux系统资源监控nmon工具下载及使用介绍

一、资源下载 夸克网盘链接&#xff1a;https://pan.quark.cn/s/2684089bc34d 里面包含了各种分享的实用工具&#xff0c;nmon在 Linux服务器监控nmon工具 文件夹内 文件说明&#xff1a; nmon16p_binaries.tar.gz 为最新的nmon官方工具包&#xff0c;支持linux全平台 nmo…

酷开科技丨引领家庭娱乐新潮流,酷开系统带你开启多彩生活新篇章

在繁忙的都市生活节奏中&#xff0c;人们对生活品质的追求从未停歇。家庭娱乐作为提升生活质量的重要部分&#xff0c;随着科技进步和个性化需求的增长&#xff0c;已经发生了翻天覆地的变化。多样化的娱乐方式不仅为家庭生活增添了色彩&#xff0c;也为家庭成员间的相聚带来了…

selenium框架学习

概念 WEB自动化框架 三大组件: selenium IDE 浏览器插件,实现脚本录制WebDriver 实现对浏览器的各种操作(API包)Grid 实现同时对多个用例进行执行,用例在多个浏览器同步执行环境搭建 1、安装selenium: pip install selenium2、安装浏览器 3、安装浏览器驱动(对应的驱…

戴尔外星人原厂系统美版改国行正确识别本机SN,支持F12 Support Assist OS Recevory恢复重置识别SN服务编码

1.重新部署可以永久正确识别My Alienware和Support Assist服务编码 原厂系统远程恢复安装&#xff1a;https://pan.baidu.com/s/166gtt2okmMmuPUL1Fo3Gpg?pwdm64f 提取码:m64f 2.安装有两个软件和官网主页会识别原机的SN码&#xff0c;就是本机服务编码&#xff08;my Alie…

【开发工具】git服务器端安装部署+客户端配置

自己安装一个轻量级的git服务端&#xff0c;仅仅作为代码维护&#xff0c;尤其适合个人代码管理。毕竟代码的版本管理是很有必要的。 这里把git服务端部署在centos系统里&#xff0c;部署完成后可以通过命令行推拉代码&#xff0c;进行版本和用户管理。 一、服务端安装配置 …

开源低代码平台,JeecgBoot v3.7.0 里程碑版本发布

项目介绍 JeecgBoot是一款企业级的低代码平台&#xff01;前后端分离架构 SpringBoot2.x&#xff0c;SpringCloud&#xff0c;Ant Design&Vue3&#xff0c;Mybatis-plus&#xff0c;Shiro&#xff0c;JWT 支持微服务。强大的代码生成器让前后端代码一键生成! JeecgBoot引领…

RocketMQ快速入门:集成spring, springboot实现各类消息消费(七)附带源码

0. 引言 rocketmq支持两种消费模式&#xff1a;pull和push&#xff0c;在实际开发中这两种模式分别是如何实现的呢&#xff0c;在spring框架和springboot框架中集成有什么差异&#xff1f;今天我们一起来探究这两个问题。 1. java client实现消息消费 1、添加依赖 <depen…

React+TS前台项目实战(十三)-- 全局常用响应式加载动画Loading组件封装

文章目录 前言Loading组件1. 功能分析2. 代码详细注释3. 使用方式4. 不同尺寸loading动画效果展示 总结 前言 高阶组件有几大优点&#xff0c;其中一个就是渲染劫持&#xff0c;如懒加载&#xff0c;是否显示该元素loading&#xff0c;这在项目中我们经常用到。毫无疑问&#…

【原创】springboot+mysql员工工资管理系统设计与实现

个人主页&#xff1a;程序猿小小杨 个人简介&#xff1a;从事开发多年&#xff0c;Java、Php、Python、前端开发均有涉猎 博客内容&#xff1a;Java项目实战、项目演示、技术分享 文末有作者名片&#xff0c;希望和大家一起共同进步&#xff0c;你只管努力&#xff0c;剩下的交…

Map-JAVA面试常问

1.HashMap底层实现 底层实现在jdk1.7和jdk1.8是不一样的 jdk1.7采用数组加链表的方式实现 jdk1.8采用数组加链表或者红黑树实现 HashMap中每个元素称之为一个哈希桶(bucket),哈希桶包含的内容有以下4项 hash值&#xff08;哈希函数计算出来的值&#xff09; Key value next(…