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 ...
随机推荐
- caffe学习--Lenet5的应用和原理、实现----ubuntu16.04.2+caffe+mnist+train+test
Lenet5的应用和原理.实现 ----------------------------------------------ubuntu16.04.2------------------------- ...
- Java Base64加密、解密原理Java代码(转载)
博客来源:http://blog.csdn.net/songylwq/article/details/7578905 Base64是什么: Base64是网络上最常见的用于传输8Bit字节代码的编码方 ...
- 有趣的Ruby-学习笔记3
Ruby方法 方法名要以小写字母开头.假设用大写字母开头会被作为常量 (这点非常奇怪) 定义一个无參的方法 def method_name expr.. end 定义一个有參的方法 def metho ...
- crazyflie2.0 RCC时钟知识
因为眼下手里仅仅有16MHZ的2520封装的贴片晶振,8MHZ这样的封装做不到这么小,所以就先用16MHZ,这样我们就须要改动程序相关的RCC时钟: 1,stm32f4xx.h #define HSE ...
- oracle 的sys 和 system 账号
sys 和 system 账号有啥区别?一直以来懵懵懂懂,只想当然的认为就是权限大小不一样. 但是,它们都是管理员? 现在,我知道有一个区别了: [sys]只能用sysdba身份登录(也许还有syso ...
- css3-calc用法
css3--calc()使用 css3新增的一个功能,可以计算元素的长度 例如说:一个百分百布局中,分左右两侧,中间需要一个分隔空间,使用padding或者margin则会超出100%,这时候使用ca ...
- cocos2d-js实现 双击android后退按钮 即退出游戏
之前测了一下android自带的后退按钮,用在cocos2d-js中是没有获取到的 (可能是cocos2d-js已经把android的后退事件截取了,所以原生java代码没有用), 没办法就只能用co ...
- 使用酷Q SDK开发QQ机器人
酷Q SDK下载地址:https://github.com/CoolQ/cqsdk-vc 打开工程,编辑appmain.cpp 将“私聊消息”处的代码 更改为 CQEVENT(int32_t, __e ...
- 虚拟化(四):vsphere高可用功能前提-共享存储搭建(使用微软提供的iscsi software target,也可以使用免费开源的openfiler)
虚拟化(一):虚拟化及vmware产品介绍 虚拟化(二):虚拟化及vmware workstation产品使用 虚拟化(三):vsphere套件的安装注意及使用 虚拟化(四):vsphere高可用功能 ...
- 基于 phantomjs 的自动化测试---(1)
它主要靠js脚本来模拟操作一般流程是写代码写代码写代码open 某个 url监听 onload 事件事件完成后调用 sendEvent 之类的 api 去点击某个 DOM 元素所在 point触发交互 ...