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

2024-05-31 12:44

本文主要是介绍【PHP项目实战训练】——laravel框架的实战项目中可以做模板的增删查改功能(1),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述


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

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

👨‍💻 本文由 曼亿点 原创

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


请添加图片描述

请添加图片描述

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

文章目录

    • 前言
    • 🎶一、添加功能
    • 🎶二、删除功能


前言

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

前提条件:

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

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

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

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

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


🎶一、添加功能


此方法的添加功能是laravel框架中最经典的添加方法,在其实使用Request 的方法来获取表单所提交的数据,匹配成功数据表单后,用insert插入数据库中,执行插入完成后,进行if判断,如果插入成功刷出进入展示部分。

  (1)在头部引用Reques

use Illuminate\Http\Request;

  (2)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>

点击添加功能将进行跳转到addym.php,其中进行跳转的路径相对于其他的不同,laravel的跳转需要asset(‘跳转的路径’),例如:{{asset(‘addym’)}}。
添加输入的表单addym.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="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"><title>添加学生页面</title>
</head>
<body>
<div class="container contentCenter col-md-6  col-xs-12 col-lg-12" style="justify-content: center;"><h1 style="margin: 50px auto; text-align: center">活动参与成员登记表</h1><form action="{{asset('add1')}}" method="post"><div class="form-group"><label for="exampleInputEmail1">班级:</label><input type="text"  name="class" class="form-control" id="exampleInputEmail1" placeholder="请输入你所在的班级"></div><div class="form-group "><label for="exampleInputPassword1">姓名:</label><input type="text"  name="name" class="form-control" id="exampleInputPassword1" placeholder="请输入姓名"></div><div class="form-group "><label for="exampleInputPassword2">电话:</label><input type="tel"  name="tel" class="form-control" id="exampleInputPassword2" placeholder="请输入电话号码"></div><div><input  type="hidden" name="zt" value="未签"></div><button type="submit" class="btn btn-default" onclick="return confirm('信息确定无误吗?')">确定参加</button>{{csrf_field()}}</form>
</div>
</body>
<script>
</script>
</html>

  在路由下的web.php中添加add的Route路由:

Route::post(‘add1’,[UserController::class,‘add1’]);

在这里插入图片描述

在UserController.php中的控制器中获取表单插入数据库的代码:

//add添加
public function add1(Request $request){// 接收表单传过来的数据  $data['class'] = $request['class'];$data['name'] = $request['name'];$data['tel'] = $request['tel'];$data['zt'] = $request['zt'];// 执行添加操作$res = DB::table('student')->insert($data);// dd($res);返回true 表示添加成功 false表示失败if($res){// 添加成功跳转至列表页面return redirect('show');}else{// 添加失败跳转至添加页面return redirect('zc');}
}

🎶二、删除功能


  删功能的逻辑相对于其他的三个功能较简单,此功能是通过获取每一行的id所实现的,点击删除按钮后他将会将相关的id传入到控制器中,对数据库中的向相匹配id的行进行删除。

删除的路由如下:

Route::get(‘dela’,[UserController::class,‘dela’]);

在UserController.php中的控制器中获取id后删除数据库行的代码:

//对数据进行删除
public function dela(Request $request)
{//接收id$where['id'] =$request['id'];$res = DB::table('student')->where($where)->delete();//dd($res);返回1 表示删除成功 0表示未做删除if($res){// 删除成功跳转至列表展示return redirect('show');}else{return redirect('show');}
}

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

这篇关于【PHP项目实战训练】——laravel框架的实战项目中可以做模板的增删查改功能(1)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1017962

相关文章

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

使用Java填充Word模板的操作指南

《使用Java填充Word模板的操作指南》本文介绍了Java填充Word模板的实现方法,包括文本、列表和复选框的填充,首先通过Word域功能设置模板变量,然后使用poi-tl、aspose-words... 目录前言一、设置word模板普通字段列表字段复选框二、代码1. 引入POM2. 模板放入项目3.代码

使用EasyPoi快速导出Word文档功能的实现步骤

《使用EasyPoi快速导出Word文档功能的实现步骤》EasyPoi是一个基于ApachePOI的开源Java工具库,旨在简化Excel和Word文档的操作,本文将详细介绍如何使用EasyPoi快速... 目录一、准备工作1、引入依赖二、准备好一个word模版文件三、编写导出方法的工具类四、在Export

Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题

《Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题》在爬虫工程里,“HTTPS”是绕不开的话题,HTTPS为传输加密提供保护,同时也给爬虫带来证书校验、... 目录一、核心问题与优先级检查(先问三件事)二、基础示例:requests 与证书处理三、高并发选型:

JS纯前端实现浏览器语音播报、朗读功能的完整代码

《JS纯前端实现浏览器语音播报、朗读功能的完整代码》在现代互联网的发展中,语音技术正逐渐成为改变用户体验的重要一环,下面:本文主要介绍JS纯前端实现浏览器语音播报、朗读功能的相关资料,文中通过代码... 目录一、朗读单条文本:① 语音自选参数,按钮控制语音:② 效果图:二、朗读多条文本:① 语音有默认值:②

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

MyCat分库分表的项目实践

《MyCat分库分表的项目实践》分库分表解决大数据量和高并发性能瓶颈,MyCat作为中间件支持分片、读写分离与事务处理,本文就来介绍一下MyCat分库分表的实践,感兴趣的可以了解一下... 目录一、为什么要分库分表?二、分库分表的常见方案三、MyCat简介四、MyCat分库分表深度解析1. 架构原理2. 分