【PHP项目实战训练】——laravel框架的实战项目中可以做模板的增删查改功能(2)

在这里插入图片描述


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

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

👨‍💻 本文由 曼亿点 原创

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


请添加图片描述

请添加图片描述

学生考勤签到系统 的增删查改

文章目录

    • 前言
    • 🎶一、查询功能
    • 🎶二、 修改功能
        • 结束语🥇


前言

  在现代 Web 开发中,构建具有增加、删除、查找和更新功能的应用程序是至关重要的。这些操作通常被统称为 CRUD 操作(创建、读取、更新和删除),是几乎所有 Web 应用程序的核心功能之一。在本教程中,我们将探索如何利用 Laravel 框架来实现这些功能,利用 Laravel 的强大功能和简洁的语法,快速构建一个完整的 CRUD 应用程序。

前提条件:

  了解基本的 PHP 编程知识。
  已经安装了 Composer 和 Laravel 开发环境。
  熟悉 Laravel 的基本概念,如路由、控制器、模型和视图。
  内容概述:

  创建数据库模型和迁移: 我们将定义数据库模型,并使用 Laravel 的迁移功能创建数据库表,确保数据库结构与应用程序需求一致。

  设置路由: 我们将设置路由,将 HTTP 请求映射到相应的控制器方法,建立客户端和服务器端之间的通信桥梁。

  编写控制器: 我们将编写控制器来处理业务逻辑,包括创建、读取、更新和删除操作,通过控制器将数据传递给视图或从视图接收用户输入。

  创建视图: 我们将创建视图来呈现用户界面,使用户可以执行 CRUD 操作,通过视图呈现数据、接收用户输入并显示相应的结果。


🎶一、查询功能


查询功能是是增删改查中最为复杂的,如果用原始的PHP写的话,还需添加jquery的容,主要用于查询到数据的展示,而laravel框架这对这个功能相对简化了不少,它采用的是在控制器中把查询到的数据传输到master.balde.php中,进行循环,将数据依次的展示。如果它在表单没输入,那么为NULL着将数据库对应的表的全部的信息展示。

(1)master.blade.php数据所接收展示部分的代码:


<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport"content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><link rel="stylesheet" href={{asset('/css/bootstrap.min.css')}}><script src={{asset('/js/jquery-3.6.1.min.js')}}></script><title>学生考勤签到系统</title><style>body {cursor: pointer;}</style>
</head>
<body>{{csrf_field()}}
<div class="container"><h1 style="text-align: center;margin: 30px 0">学生考勤签到系统</h1><form action="{{asset('select')}}" method="get" id="formInfo"><div>        <input type="text" name="classType" id="classType"><input  name="reset"  type="submit" value="查询"></div></form><form action="delectall.php" method="get"><div style="float: right"><input  onclick="return alert('确定重置?')" name="reset"  type="submit" value="重置"></div></form><table class="table table-hover" id="info"><thead><tr>         <th>班级</th><th>姓名</th><th>电话</th><th>状态</th><th>签到</th><th>操作</th></tr></thead><tbody>@foreach($data as $v)<tr>         <td>{{$v->class}}</td><td>{{$v->name}}</td><td>{{$v->tel}}</td><td>{{$v->zt}}</td><td><a type="submit" onclick="return confirm('是否已到场?')" href="{{asset('updata')}}?id={{$v->Id}}"><button>签到</button></a></td><td><button><a onclick="return confirm(' 确定要删除吗?')" href="{{asset('dela')}}?id={{$v->Id}}">删除</a></button></td></tr>@endforeach</tbody></table><div class="text-center"><button><a href="{{asset('addym')}}">添加学生</a></button></div>
</div>
<script></script>
</body>
</html>

(2)相关的路由代码的展示:

Route::get(“select”,[UserController::class,‘select’]);

(3)UserController.php控制器代码的展示:

public function select(Request $request){$where['class'] =$request['classType'];
if($where['class']==NUll){$data = DB::table("student")->get();return view("master",["data"=>$data]);
}else{$data = DB::table("student")->where('class', $where)->get();return view("master",["data"=>$data]);
}}

切记classType是查询表单中的的name


🎶二、 修改功能


  修改功它需要一个修改的输入框,与添加功能有点相似的输入框,修改功能也需要获取输入的表单的内容,其中注意在href中需要同时获取它的id主要是获取它的行的内容,修改如果失败,将弹出提示,修改失败。如果修改成功,将提示修改成功并进行页面刷新。
在这里插入图片描述

UserController.php代码:

public function updata(Request $request){
# 接收id 
$where['id'] = $request['id'];
# 接收新值 $res = DB::table('student')->where($where)->update(['zt'=>'已签']);
// dd($res);
if($res === 1){return redirect('show');
}else{return redirect('show');
}
}

结束语🥇

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

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

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

相关文章

安卓Zygote进程详解

目录 一、概述二、Zygote如何被启动的&#xff1f;2.1 init.zygote64_32.rc2.2 Zygote进程在什么时候会被重启2.3 Zygote 启动后做了什么2.4 Zygote启动相关主要函数 三、Zygote进程启动源码分析3.1 Nativate-C世界的Zygote启动要代码调用流程3.1.1 [app_main.cpp] main()3.1.2…

基于神经网络的教学质量评价模型:深入剖析与实践应用

基于神经网络的教学质量评价模型&#xff1a;深入剖析与实践应用 在教育领域&#xff0c;教学质量评价一直是一项至关重要的任务。随着科技的不断进步&#xff0c;越来越多的先进算法和技术被引入到这一领域&#xff0c;以期提高评价的准确性和客观性。其中&#xff0c;基于神…

Qwen 微调脚本分析 Qwen/finetune.py

Qwen 微调脚本分析 Qwen/finetune.py Qwen/finetune.py &#xff1a; # 基于fastchat和tatsu-lab/stanford_alpaca的修订代码&#xff0c;用于训练语言模型 # 提供使用LoRA&#xff08;低秩适应&#xff09;和量化&#xff08;QLoRA&#xff09;压缩的选项&#xff0c;以及使…

个人关于ChatGPT的用法及建议

概述 这里只是个人常用的几个软件&#xff0c;做一下汇总&#xff0c;希望对各位有用。 如果有更高认知的朋友&#xff0c;请留下你的工具名称&#xff0c;提醒我一下&#xff0c;谢谢&#xff5e; 常用的chatgpt模型工具&#xff1a; 以下是一些知名的例子&#xff1a; 文…

代码随想录算法训练营Day55 | 647. 回文子串 516.最长回文子序列 动态规划总结篇

代码随想录算法训练营Day55 | 647. 回文子串 516.最长回文子序列 动态规划总结篇 LeetCode 647. 回文子串 题目链接&#xff1a;LeetCode 647. 回文子串 思路&#xff1a; class Solution { public:int countSubstrings(string s) {vector<vector<bool>> dp(s.…

AI学习指南机器学习篇-多元线性回归

AI学习指南机器学习篇-多元线性回归 在机器学习领域&#xff0c;多元线性回归是一种用于建立自变量和因变量之间关系的模型。在这篇博客中&#xff0c;我们将讨论多元线性回归模型的引入以及它对多个自变量对因变量的影响。我们还将讨论多元线性回归与简单线性回归的区别和应用…

江协科技STM32学习-1 购买24Mhz采样逻辑分析仪

前言&#xff1a; 本文是根据哔哩哔哩网站上“江协科技STM32”视频的学习笔记&#xff0c;在这里会记录下江协科技STM32开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了江协科技STM32教学视频和链接中的内容。 引用&#xff1a; STM32入门教程-2023版 细致讲…

CVPR2024 合成异常数据 工业异常检测 RealNet

前言 本文分享一个基于扩散模型的异常检测框架&#xff0c;用于检测工业场景的缺陷检测或异常检测。 强度可控扩散异常合成&#xff1a;基于扩散过程的合成策略&#xff0c;能够生成不同强度的异常样本&#xff0c;模仿真实异常样本的分布。异常感知特征选择&#xff1a;选择…

学习Java,stringbuilder用法

有sb.append添加元素&#xff0c;sb.reverse反转内容&#xff0c;sb.tostring转换成字符串&#xff0c;sb.length计算长度。

东莞酷得智能 组装机械狗电子玩具方案

这款机械狗玩具电子方案结合了现代电子技术和人工智能元素&#xff0c;旨在为用户提供一个高科技、互动性强的娱乐体验。通过不断的软件更新和硬件迭代&#xff0c;机械狗的功能将持续扩展。 一、功能特点&#xff1a; 1、自动巡游&#xff1a;机械狗能够自主在房间内巡游&am…

分库分表、读写分离--ShardingJDBC

1. 项目准备 1.1 建立数据库表 建立user_manage数据库&#xff0c;在该库中建立1张表app_user用来做分库前的测试&#xff0c;另外建12张按月份命名的表app_user_2024XX用来做分库。 CREATE DATABASE IF NOT EXISTS user_manage CHARACTER SET utf8 COLLATE utf8_general_ci…

Python中的__str__和__repr__:揭示字符串表示的奥秘

标题&#xff1a;Python中的__str__和__repr__&#xff1a;揭示字符串表示的奥秘 摘要 在Python中&#xff0c;对象的字符串表示对于调试和日志记录至关重要。__str__和__repr__是两个特殊的方法&#xff0c;用于定义对象的字符串表示形式。尽管它们在功能上相似&#xff0c;…

vm-bhyve网卡设定桥接故障解决@FreeBSD

问题 在使用vm-bhyve虚拟机管理软件的时候&#xff0c;使用vm无法绑定网卡igb0 vm switch add public igb0 报错&#xff1a;/usr/local/sbin/vm: ERROR: failed to add member igb0 to the virtual switch public 解决 于是准备用原生ifconfig命令来绑定&#xff0c;结果…

【Go基础】快速入门

Go基础入门 用20%的时间学习常用80%的语法 官方网址&#xff08;下载安装/官方文档/官方类库&#xff09; Download Go binaries from https://go.dev/dl/Reference the official Go documentation https://go.dev/doc/See all the the Go packages https://pkg.go.dev/Access…

Linux基础指令及其作用之网络操作

网络操作pingifconfigeth0 接口 ip常用选项和命令 netstat示例输出解释 curl示例输出及解释 wget示例输出解释 网络操作 ping ping 命令用于测试网络连接的连通性和响应时间。它通过向目标主机发送 ICMP 回显请求&#xff08;echo request&#xff09;数据包&#xff0c;并等…

wpf 依赖属性的含义理解

依赖属性允许没有自己的字段&#xff0c;可以通过Binding绑定到其它对象的属性或者说数据源上&#xff0c;从而获得值。 缘由 由于控件有很多的属性&#xff0c;有属性就有字段的内存开销&#xff0c;但实际上对于一个控件&#xff0c;我们大多数只会使用其部分常用属性&#…

ConvNeXt(CVPR 2022)论文解读

paper&#xff1a;A ConvNet for the 2020s official implementation&#xff1a;https://github.com/facebookresearch/ConvNeXt third-party implementation&#xff1a;https://github.com/huggingface/pytorch-image-models/blob/main/timm/models/convnext.py 背景 在…

代码随想录-算法训练营day55【动态规划16:两个字符串的删除操作、编辑距离、编辑距离总结篇】

代码随想录-035期-算法训练营【博客笔记汇总表】-CSDN博客 第九章 动态规划part16● 583. 两个字符串的删除操作 ● 72. 编辑距离 ● 编辑距离总结篇 详细布置 583. 两个字符串的删除操作 本题和动态规划&#xff1a;115.不同的子序列 相比&#xff0c;其实就是两个字符串都…

流量回放平台与传统测试工具的对比分析

文章目录 一、流量回放平台的优势与挑战二、传统测试工具的优势与挑战三、实际案例演示四、解决方案五、答疑解惑5.1、传统工具不是也可以做到流量会放平台的无侵入性测试和性能瓶颈分析吗&#xff1f;5.2、开发流量回放平台的成本和使用传统测试工具的成本哪个更大&#xff1f…

基于SSM框架的垃圾分类系统的设计与实现(含源码+sql+开题报告+论文+论文答辩模板)

图1 前台首页截图 首页展示&#xff1a;首页展示法律法规、公示公告、用户交流论坛、分类指南、垃圾站点、以及个人中心&#xff1b; 法律法规&#xff1a;展示我国《城市生活垃圾分类及其评价标准》以及《生活垃圾分类标志》等最新法律法规&#xff1b; 公示公告&#xff1…