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之第二天
Oct 09 PHP
PHP 文件上传功能实现代码
Jun 24 PHP
使用JSON实现数据的跨域传输的php代码
Dec 20 PHP
php读取mysql乱码,用set names XXX解决的原理分享
Dec 29 PHP
php小经验:解析preg_match与preg_match_all 函数
Jun 29 PHP
php session_start()出错原因分析及解决方法
Oct 28 PHP
php header功能的使用
Oct 28 PHP
使用Appcan客户端自动更新PHP版本号(全)
Jul 31 PHP
如何在Laravel5.8中正确地应用Repository设计模式
Nov 26 PHP
php 的多进程操作实践案例分析
Feb 28 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
Mar 27 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
Apr 04 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_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法
2014/05/04 PHP
PHP中$_SERVER使用说明
2015/07/05 PHP
xml文档转换工具,附图表例子(hta)
2010/11/17 Javascript
关于Javascript模块化和命名空间管理的问题说明
2010/12/06 Javascript
基于jquery的分页控件(C#)
2011/01/06 Javascript
js模仿windows桌面图标排列算法具体实现(附图)
2013/06/16 Javascript
微信小程序 Storage API实例详解
2016/10/02 Javascript
nodejs redis 发布订阅机制封装实现方法及实例代码
2016/12/15 NodeJs
jQuery插件扩展操作入门示例
2017/01/16 Javascript
利用node.js实现反向代理的方法详解
2017/07/24 Javascript
解析Vue.js中的组件
2018/02/02 Javascript
Vue CLI 3搭建vue+vuex最全分析(推荐)
2018/09/27 Javascript
element-ui upload组件多文件上传的示例代码
2018/10/17 Javascript
解决layui数据表格table的横向滚动条显示问题
2019/09/04 Javascript
Nuxt pages下不同的页面对应layout下的页面布局操作
2020/11/05 Javascript
记录Django开发心得
2014/07/16 Python
Django 添加静态文件的两种实现方法(必看篇)
2017/07/14 Python
浅谈python装饰器探究与参数的领取
2017/12/01 Python
详解如何为eclipse安装合适版本的python插件pydev
2018/11/04 Python
Python3 jupyter notebook 服务器搭建过程
2018/11/30 Python
使用python实现mqtt的发布和订阅
2019/05/05 Python
pandas dataframe的合并实现(append, merge, concat)
2019/06/24 Python
详解python中的生成器、迭代器、闭包、装饰器
2019/08/22 Python
关于pandas的离散化,面元划分详解
2019/11/22 Python
Python单链表原理与实现方法详解
2020/02/22 Python
Python如何使用turtle库绘制图形
2020/02/26 Python
Python实现在Windows平台修改文件属性
2020/03/05 Python
猫途鹰:全球领先的旅游点评社区
2017/04/07 全球购物
伊莱克斯阿根廷网上商店:Tienda Electrolux
2021/03/08 全球购物
施工员岗位职责
2014/03/16 职场文书
班干部竞选演讲稿
2014/04/24 职场文书
学生违纪检讨书200字
2014/10/21 职场文书
2014年保管员工作总结
2014/11/18 职场文书
陈斌强事迹观后感
2015/06/17 职场文书
记者节感言
2015/08/03 职场文书
2019销售早会主持词
2019/06/27 职场文书