Laravel框架实现简单的学生信息管理平台案例


Posted in PHP onMay 07, 2019

本文实例讲述了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);
    }
  }
}

下面是效果展示

学生列表页

Laravel框架实现简单的学生信息管理平台案例

新增页面

Laravel框架实现简单的学生信息管理平台案例

详情页面

Laravel框架实现简单的学生信息管理平台案例

修改页面

Laravel框架实现简单的学生信息管理平台案例

Laravel框架实现简单的学生信息管理平台案例

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

PHP 相关文章推荐
php 多线程上下文中安全写文件实现代码
Dec 28 PHP
php下将XML转换为数组
Jan 01 PHP
用Php编写注册后Email激活验证的实例代码
Mar 11 PHP
PHP生成等比缩略图类和自定义函数分享
Jun 25 PHP
php文档工具PHP Documentor安装与使用方法
Jan 25 PHP
学习PHP Cookie处理函数
Aug 09 PHP
PHP对象克隆clone用法示例
Sep 28 PHP
php die()与exit()的区别实例详解
Dec 03 PHP
php基于session锁防止阻塞请求的方法分析
Aug 07 PHP
PHP实现浏览器格式化显示XML的方法示例
Jan 22 PHP
PHP保存Base64图片base64_decode的问题整理
Nov 04 PHP
PHP 实现链式操作
Mar 09 PHP
Laravel框架Request、Response及Session操作示例
May 06 #PHP
thinkphp5框架扩展redis类方法示例
May 06 #PHP
PHP5.6.8连接SQL Server 2008 R2数据库常用技巧分析总结
May 06 #PHP
PHP实现百度人脸识别
May 06 #PHP
PHP7使用ODBC连接SQL Server2008 R2数据库示例【基于thinkPHP5.1框架】
May 06 #PHP
PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】
May 06 #PHP
php + WebUploader实现图片批量上传功能
May 06 #PHP
You might like
PHP读取网页文件内容的实现代码(fopen,curl等)
2011/06/23 PHP
php中比较简单的导入phpmyadmin生成的sql文件的方法
2011/06/28 PHP
PHP实现XML与数据格式进行转换类实例
2015/07/29 PHP
PHP实现的浏览器检查类
2016/04/11 PHP
php微信开发之百度天气预报
2016/11/18 PHP
php实现批量上传数据到数据库(.csv格式)的案例
2017/06/18 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
2017/11/17 PHP
PHP hex2bin()函数用法讲解
2019/02/25 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
js异或加解密效果代码
2008/06/25 Javascript
JS在IE和FireFox之间常用函数的区别小结
2010/03/12 Javascript
window.location.hash 使用说明
2010/11/08 Javascript
jQuery lazyload 的重复加载错误以及修复方法
2010/11/19 Javascript
js文件缓存之版本管理详解
2013/07/05 Javascript
js获取控件位置以及不同浏览器中的差别介绍
2013/08/08 Javascript
js给页面加style无效果的解决方法
2014/01/20 Javascript
JavaScript fontcolor方法入门实例(按照指定的颜色来显示字符串)
2014/10/17 Javascript
moment.js轻松实现获取当前日期是当年的第几周
2015/02/05 Javascript
AngularJS中实现动画效果的方法
2016/07/28 Javascript
jQuery实现可展开折叠的导航效果示例
2016/09/12 Javascript
使用jQuery的load方法设计动态加载及解决被加载页面js失效问题
2017/03/01 Javascript
js+html制作简单日历的方法
2017/06/27 Javascript
使用webpack打包koa2 框架app
2018/02/02 Javascript
Vue父组件调用子组件事件方法
2018/02/23 Javascript
WebSocket的通信过程与实现方法详解
2018/04/29 Javascript
小试小程序云开发(小结)
2019/06/06 Javascript
Python基础教程之tcp socket编程详解及简单实例
2017/02/23 Python
Python2和Python3中print的用法示例总结
2017/10/25 Python
药学专业大学生自荐信
2013/09/28 职场文书
中专生自我鉴定范文
2014/02/02 职场文书
优秀护士获奖感言
2014/02/20 职场文书
大学生国庆节65周年演讲稿范文
2014/09/25 职场文书
先进人物事迹材料
2014/12/29 职场文书
不同意离婚上诉状
2015/05/23 职场文书
资产移交协议书
2016/03/24 职场文书
vue 自定义组件添加原生事件
2022/04/21 Vue.js