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分页函数
Jul 08 PHP
如何获得PHP相关资料
Oct 09 PHP
用PHP连mysql和oracle数据库性能比较
Oct 09 PHP
php仿discuz分页效果代码
Oct 02 PHP
php 字符过滤类,用于过滤各类用户输入的数据
May 27 PHP
DedeCMS 核心类TypeLink.class.php摘要笔记
Apr 07 PHP
ThinkPHP中URL路径访问与模块控制器之间的关系
Aug 23 PHP
php+MySQL判断update语句是否执行成功的方法
Aug 28 PHP
Codeigniter购物车类不能添加中文的解决方法
Nov 29 PHP
Zend Framework教程之Loader以及PluginLoader用法详解
Mar 09 PHP
Linux环境下php实现给网站截图的方法
May 03 PHP
PHP7基于curl实现的上传图片功能
May 11 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之第六天
2006/10/09 PHP
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
2012/03/06 PHP
Codeigniter实现多文件上传并创建多个缩略图
2014/06/12 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
PHP+Redis 消息队列 实现高并发下注册人数统计的实例
2018/01/29 PHP
Thinkphp 5.0实现微信企业付款到零钱
2018/09/30 PHP
特殊字符、常规符号及其代码对照表
2006/06/26 Javascript
Javascript 面向对象(三)接口代码
2012/05/23 Javascript
js 验证身份证信息有效性
2014/03/28 Javascript
JS敏感词过滤代码
2016/12/23 Javascript
Node.js pipe实现源码解析
2017/08/12 Javascript
Vue.js实现网格列表布局转换方法
2017/08/25 Javascript
详解vue 路由跳转四种方式 (带参数)
2019/04/28 Javascript
vue分页器组件编写方法详解
2019/06/28 Javascript
JavaScript的变量声明与声明提前用法实例分析
2019/11/26 Javascript
在vue中实现嵌套页面(iframe)
2020/07/30 Javascript
在vue中axios设置timeout超时的操作
2020/09/04 Javascript
[01:36:57]【09DOTA2第一视角】小骷髅
2014/04/16 DOTA
[01:17]Ti4 循环赛第一日回顾
2014/07/11 DOTA
[56:00]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第一局
2016/03/05 DOTA
linux 下实现python多版本安装实践
2014/11/18 Python
Python中操作mysql的pymysql模块详解
2016/09/13 Python
将python代码和注释分离的方法
2018/04/21 Python
Pandas删除数据的几种情况(小结)
2019/06/21 Python
python识别文字(基于tesseract)代码实例
2019/08/24 Python
tensorflow 重置/清除计算图的实现
2020/01/19 Python
Keras SGD 随机梯度下降优化器参数设置方式
2020/06/19 Python
Pytest如何使用skip跳过执行测试
2020/08/13 Python
CSS3 分类菜单效果
2019/05/27 HTML / CSS
Omio西班牙:全欧洲低价大巴、火车和航班搜索和比价
2017/02/11 全球购物
ROSEFIELD手表荷兰官方网上商店:北欧极简设计女士腕表品牌
2018/01/24 全球购物
生物化工专业个人自荐信
2013/09/26 职场文书
优秀大学生求职自荐信范文
2014/04/19 职场文书
社会实践单位意见
2015/06/05 职场文书
消费者投诉书范文
2015/07/02 职场文书
Python使用openpyxl模块处理Excel文件
2022/06/05 Python