Laravel之简单的学生信息管理平台
laravel框架写的简易版的学生信息管理平台,贯穿了laravel的控制器、视图、模板、模型、中间件、路由规则的使用。
页面是使用BootStrap前端框架搭建
使用laravel实现了增删改查的功能。
代码下载链接在文章底部。
//这是路由文件的关键代码
Route::group(['middleware' => ['web']], function () {
Route::get('student/index',['uses'=>'StudentController@index']);
Route::any('student/create',['uses'=>'StudentController@create']);
Route::post('student/save',['uses'=>'StudentController@save']);
Route::any('student/update/{id}',['uses'=>'StudentController@update']);
Route::any('student/detail/{id}',['uses'=>'StudentController@detail']);
Route::any('student/delete/{id}',['uses'=>'StudentController@delete']);
});
//控制器文件的关键代码,增删改查
class StudentController extends Controller{
//学生列表
public function index(){
$students = Student::paginate(20); //dd($students);
return view('student.index',[
'students'=>$students,
]);
} //新增页面
public function create(Request $request){
$student = new Student(); if($request->isMethod('POST')){ //1.控制器验证
/*$this->validate($request,[
'Student.name'=>'required|min:2|max:20',
'Student.age' =>'required|integer',
'Student.sex' =>'required|integer',
],[
'required'=>':attribute 为必填项',
'min'=>':attribute长度不符合要求',
'integer'=>':attribute必须为整数',
],[
'Student.name'=>'姓名',
'Student.age' =>'年龄',
'Student.sex' =>'性别'
]);*/ //2.Validator类验证
$validator = \Validator::make($request->input(),[
'Student.name'=>'required|min:2|max:20',
'Student.age' =>'required|integer',
'Student.sex' =>'required|integer',
],[
'required'=>':attribute 为必填项',
'min'=>':attribute长度不符合要求',
'integer'=>':attribute必须为整数',
],[
'Student.name'=>'姓名',
'Student.age' =>'年龄',
'Student.sex' =>'性别'
]); //withInput保持数据
if($validator->fails()){
return redirect()->back()->withErrors($validator)->withInput();
} $data = $request->input('Student');
if(Student::create($data)){
return redirect('student/index')->with('success','添加成功');
}else{
return redirect()->back();
}
} return view('student.create',[
'student'=>$student,
]);
} //保存数据操作
public function save(Request $request){
$data = $request->input('Student');
$student = new Student();
$student->name = $data['name'];
$student->age = $data['age'];
$student->sex = $data['sex'];
if($student->save()){
return redirect('student/index');
}else{
return redirect()->back();
}
} //更新数据操作
public function update(Request $request,$id){
$student = Student::find($id); if($request->isMethod('POST')){
//Validator类验证
$validator = \Validator::make($request->input(),[
'Student.name'=>'required|min:2|max:20',
'Student.age' =>'required|integer',
'Student.sex' =>'required|integer',
],[
'required'=>':attribute 为必填项',
'min'=>':attribute长度不符合要求',
'integer'=>':attribute必须为整数',
],[
'Student.name'=>'姓名',
'Student.age' =>'年龄',
'Student.sex' =>'性别'
]); //withInput保持数据
if($validator->fails()){
return redirect()->back()->withErrors($validator)->withInput();
} $data = $request->input('Student');
$student->name = $data['name'];
$student->age = $data['age'];
$student->sex = $data['sex'];
if($student->save()){
return redirect('student/index')->with('success','修改成功-'.$id);
}
} return view('student.update',[
'student'=>$student,
]);
} //信息详情
public function detail($id){
$student = Student::find($id);
return view('student.detail',[
'student'=>$student,
]);
} //删除操作
public function delete($id){
$student = Student::find($id);
if($student->delete()){
return redirect('student/index')->with('success','删除成功-'.$id);
}else{
return redirect('student/index')->with('error','删除失败-'.$id);
}
}
}
下面是效果展示
学生列表页
新增页面
详情页面
修改页面
代码下载:http://download.csdn.net/detail/yxhbk/9659523
Laravel之简单的学生信息管理平台的更多相关文章
- vue实现简单学生信息管理案例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 使用 Laravel 框架:成为微信公众平台开发者
转: http://ninghao.net/blog/1441 作者:王皓发布于:2014-05-30 13:16更新于:2014-05-31 12:05 我们可以使用Laravel 框架为微信公众平 ...
- PHP实现简单的学生信息管理系统(web版)
(∩_∩) 1.概述 学了php的一些基础,包括HTML,php,pdo,mysql操作等,一直都没有将它们有机结合.最近写了一个简单的网页版学生信息管理系统,前台用HTML,脚本用到了JavaScr ...
- 用JS制作一个信息管理平台
首先,介绍一些需要用到的基本知识. [JSON] JSON是数据交互中,最常用的一种数据格式. 由于各种语言的语法都不相同,在传递数据时,可以将自己语言中的数组.对象等转换为JSON字符串. 传递之后 ...
- 用JS制作一个信息管理平台完整版
前 言 JRedu 在之前的文章中,介绍了如何用JS制作一个实用的信息管理平台. 但是那样的平台功能过于简陋了,我们今天来继续完善一下. 首先我们回顾一下之前的内容. 1.JSON的基础知识 ...
- 用JS制作一个信息管理平台(1)
首先,介绍一些需要用到的基本知识. [JSON] JSON是数据交互中,最常用的一种数据格式. 由于各种语言的语法都不相同,在传递数据时,可以将自己语言中的数组.对象等转换为JSON字符串. 传递之后 ...
- 【学员管理系统】0x02 学生信息管理功能
[学员管理系统]0x02 学生信息管理功能 写在前面 项目详细需求参见:Django项目之[学员管理系统] Django框架大致处理流程 捋一下Django框架相关的内容: 浏览器输入URL到页面展示 ...
- 编程作业—C++初探 简单的学生信息处理程序实现
简单的学生信息处理程序实现 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 ...
- .Net Core 跨平台:一个简单程序的多平台(windows、Linux、osx)发布
.Net Core 跨平台:一个简单程序的多平台(windows.Linux.osx)发布 .Net Core 3.0 已于2019年9月23日发布了,包含了一些新特性,具体参见Announcing ...
随机推荐
- 基于tornado实现的web聊天室
目录结构: # -*- coding:utf-8 -*- import uuid import json import tornado.ioloop import tornado.web import ...
- Spring Boot实现STOMP协议的WebSocket
关注公众号:锅外的大佬 每日推送国外优秀的技术翻译文章,励志帮助国内的开发者更好地成长! WebSocket协议是应用程序处理实时消息的方法之一.最常见的替代方案是长轮询(long polling)和 ...
- Linux下Tun/Tap设备通信原理
Tun/Tap都是虚拟网卡,没有直接映射到物理网卡,是一种纯软件的实现.Tun是三层虚拟设备,能够处理三层即IP包,Tap是二层设备,能处理链路层网络包如以太网包.使用虚拟网络设备,可以实现隧道,如O ...
- API网关如何实现对服务下线实时感知
上篇文章<Eureka 缓存机制>介绍了Eureka的缓存机制,相信大家对Eureka 有了进一步的了解,本文将详细介绍API网关如何实现服务下线的实时感知. 一.前言 在基于云的微服务应 ...
- ThinkPHP5 安装自定义模块
安装官方给的demo,在build.php文件中 <?php // +-------------------------------------------------------------- ...
- input输入框输入大小写字母自动转换
input输入框输入小写字母自动转换成大写字母有两种方法 1.用js onkeyup事件,即时把字母转换为大写字母: html里input加上 <input type="text&qu ...
- Hibernate中的事务处理流程详解
一.Hibernate操作的基本流程 使用 Hibernate 进行数据持久化操作,通常有如下步骤: 1.编写持久化类: POJO + 映射文件 2.获取 Configuration 对象 3.获取 ...
- Struts2访问Servlet API的三种方式
有时我们需要用到Request, Response, Session,Page, ServletContext这些我们以前常用的对象,那么在Struts2中怎么样使用到这些对象呢,通常有三种方式. * ...
- Struts表单重复提交
- linux内核container_of宏定义分析
看见一个哥们分析container_of很好,转来留给自己看 一.#define offsetof(TYPE, MEMBER) ((size_t) & ((TYPE *)0)->MEMB ...