laravel框架写的简易版的学生信息管理平台,贯穿了laravel的控制器、视图、模板、模型、中间件、路由规则的使用。

页面是使用BootStrap前端框架搭建

使用laravel实现了增删改查的功能。

代码下载链接在文章底部。

  1. //这是路由文件的关键代码
  2. Route::group(['middleware' => ['web']], function () {
  3. Route::get('student/index',['uses'=>'StudentController@index']);
  4. Route::any('student/create',['uses'=>'StudentController@create']);
  5. Route::post('student/save',['uses'=>'StudentController@save']);
  6. Route::any('student/update/{id}',['uses'=>'StudentController@update']);
  7. Route::any('student/detail/{id}',['uses'=>'StudentController@detail']);
  8. Route::any('student/delete/{id}',['uses'=>'StudentController@delete']);
  9. });
  1. //控制器文件的关键代码,增删改查
  2. class StudentController extends Controller{
  3. //学生列表
  4. public function index(){
  5. $students = Student::paginate(20);
  6.  
  7. //dd($students);
  8. return view('student.index',[
  9. 'students'=>$students,
  10. ]);
  11. }
  12.  
  13. //新增页面
  14. public function create(Request $request){
  15. $student = new Student();
  16.  
  17. if($request->isMethod('POST')){
  18.  
  19. //1.控制器验证
  20. /*$this->validate($request,[
  21. 'Student.name'=>'required|min:2|max:20',
  22. 'Student.age' =>'required|integer',
  23. 'Student.sex' =>'required|integer',
  24. ],[
  25. 'required'=>':attribute 为必填项',
  26. 'min'=>':attribute长度不符合要求',
  27. 'integer'=>':attribute必须为整数',
  28. ],[
  29. 'Student.name'=>'姓名',
  30. 'Student.age' =>'年龄',
  31. 'Student.sex' =>'性别'
  32. ]);*/
  33.  
  34. //2.Validator类验证
  35. $validator = \Validator::make($request->input(),[
  36. 'Student.name'=>'required|min:2|max:20',
  37. 'Student.age' =>'required|integer',
  38. 'Student.sex' =>'required|integer',
  39. ],[
  40. 'required'=>':attribute 为必填项',
  41. 'min'=>':attribute长度不符合要求',
  42. 'integer'=>':attribute必须为整数',
  43. ],[
  44. 'Student.name'=>'姓名',
  45. 'Student.age' =>'年龄',
  46. 'Student.sex' =>'性别'
  47. ]);
  48.  
  49. //withInput保持数据
  50. if($validator->fails()){
  51. return redirect()->back()->withErrors($validator)->withInput();
  52. }
  53.  
  54. $data = $request->input('Student');
  55. if(Student::create($data)){
  56. return redirect('student/index')->with('success','添加成功');
  57. }else{
  58. return redirect()->back();
  59. }
  60. }
  61.  
  62. return view('student.create',[
  63. 'student'=>$student,
  64. ]);
  65. }
  66.  
  67. //保存数据操作
  68. public function save(Request $request){
  69. $data = $request->input('Student');
  70. $student = new Student();
  71. $student->name = $data['name'];
  72. $student->age = $data['age'];
  73. $student->sex = $data['sex'];
  74. if($student->save()){
  75. return redirect('student/index');
  76. }else{
  77. return redirect()->back();
  78. }
  79. }
  80.  
  81. //更新数据操作
  82. public function update(Request $request,$id){
  83. $student = Student::find($id);
  84.  
  85. if($request->isMethod('POST')){
  86. //Validator类验证
  87. $validator = \Validator::make($request->input(),[
  88. 'Student.name'=>'required|min:2|max:20',
  89. 'Student.age' =>'required|integer',
  90. 'Student.sex' =>'required|integer',
  91. ],[
  92. 'required'=>':attribute 为必填项',
  93. 'min'=>':attribute长度不符合要求',
  94. 'integer'=>':attribute必须为整数',
  95. ],[
  96. 'Student.name'=>'姓名',
  97. 'Student.age' =>'年龄',
  98. 'Student.sex' =>'性别'
  99. ]);
  100.  
  101. //withInput保持数据
  102. if($validator->fails()){
  103. return redirect()->back()->withErrors($validator)->withInput();
  104. }
  105.  
  106. $data = $request->input('Student');
  107. $student->name = $data['name'];
  108. $student->age = $data['age'];
  109. $student->sex = $data['sex'];
  110. if($student->save()){
  111. return redirect('student/index')->with('success','修改成功-'.$id);
  112. }
  113. }
  114.  
  115. return view('student.update',[
  116. 'student'=>$student,
  117. ]);
  118. }
  119.  
  120. //信息详情
  121. public function detail($id){
  122. $student = Student::find($id);
  123. return view('student.detail',[
  124. 'student'=>$student,
  125. ]);
  126. }
  127.  
  128. //删除操作
  129. public function delete($id){
  130. $student = Student::find($id);
  131. if($student->delete()){
  132. return redirect('student/index')->with('success','删除成功-'.$id);
  133. }else{
  134. return redirect('student/index')->with('error','删除失败-'.$id);
  135. }
  136. }
  137. }

  

  

下面是效果展示

学生列表页

新增页面

详情页面

修改页面

代码下载:http://download.csdn.net/detail/yxhbk/9659523

Laravel之简单的学生信息管理平台的更多相关文章

  1. vue实现简单学生信息管理案例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 使用 Laravel 框架:成为微信公众平台开发者

    转: http://ninghao.net/blog/1441 作者:王皓发布于:2014-05-30 13:16更新于:2014-05-31 12:05 我们可以使用Laravel 框架为微信公众平 ...

  3. PHP实现简单的学生信息管理系统(web版)

    (∩_∩) 1.概述 学了php的一些基础,包括HTML,php,pdo,mysql操作等,一直都没有将它们有机结合.最近写了一个简单的网页版学生信息管理系统,前台用HTML,脚本用到了JavaScr ...

  4. 用JS制作一个信息管理平台

    首先,介绍一些需要用到的基本知识. [JSON] JSON是数据交互中,最常用的一种数据格式. 由于各种语言的语法都不相同,在传递数据时,可以将自己语言中的数组.对象等转换为JSON字符串. 传递之后 ...

  5. 用JS制作一个信息管理平台完整版

      前  言 JRedu 在之前的文章中,介绍了如何用JS制作一个实用的信息管理平台. 但是那样的平台功能过于简陋了,我们今天来继续完善一下. 首先我们回顾一下之前的内容.   1.JSON的基础知识 ...

  6. 用JS制作一个信息管理平台(1)

    首先,介绍一些需要用到的基本知识. [JSON] JSON是数据交互中,最常用的一种数据格式. 由于各种语言的语法都不相同,在传递数据时,可以将自己语言中的数组.对象等转换为JSON字符串. 传递之后 ...

  7. 【学员管理系统】0x02 学生信息管理功能

    [学员管理系统]0x02 学生信息管理功能 写在前面 项目详细需求参见:Django项目之[学员管理系统] Django框架大致处理流程 捋一下Django框架相关的内容: 浏览器输入URL到页面展示 ...

  8. 编程作业—C++初探 简单的学生信息处理程序实现

    简单的学生信息处理程序实现 来源: POJ (Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 ...

  9. .Net Core 跨平台:一个简单程序的多平台(windows、Linux、osx)发布

    .Net Core 跨平台:一个简单程序的多平台(windows.Linux.osx)发布 .Net Core 3.0 已于2019年9月23日发布了,包含了一些新特性,具体参见Announcing ...

随机推荐

  1. Android 中View仅仅能接收到ACTION_DOWN无法接收ACTION_MOVE和ACTION_UP解决的方法

    昨天晚上调试了一晚上,在LinearLayout上接收屏幕动作,可是出现了问题, 以下的代码是本人调的代码 </pre><pre name="code" clas ...

  2. 【SVN版本回退】

    [SVN版本回退]根据想要回退的内容,然后选择revert to this revision或者revert changes from this revision.下面引用过来:譬如有个文件,有十个版 ...

  3. EasyDarwin手机直播是如何实现的快速显示视频的方法

    前言 经常有人提到最近比较火的映客直播.花椒直播这种,是如何做到在打开手机直播中的某一个主播房间后,立即就能显示出主播视频,非常非常快,而且延时也比较小,是怎么做到的? 其实,这并不是什么高深的技术, ...

  4. Vue中data重置问题

    Object.assign() Object.assign()方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象.它将返回目标对象. 目标对象有1个,后边可以有多个源对象.注意他只会拷贝源对 ...

  5. ABAP 通过字段找表程序

    2.获取数据保存在哪个数据表的方法: 1.前台对指定栏位 使用F1帮助找表,2.st05 跟踪业务操作过程,检索需要的数据表,(此方法找表很高效)3.对于文本字段找表,可以找到前台维护处,->维 ...

  6. 在iOS平台使用ffmpeg解码h264视频流(转)

    在iOS平台使用ffmpeg解码h264视频流,有需要的朋友可以参考下. 对于视频文件和rtsp之类的主流视频传输协议,ffmpeg提供avformat_open_input接口,直接将文件路径或UR ...

  7. protoc: error while loading shared libraries: libprotoc.so.9: cannot open shared object

    使用protobuf出错:protoc: error while loading shared libraries: libprotoc.so.9: cannot open shared object ...

  8. Appnium安装-Mac平台

    Appium的安装-MAC平台   其实Appium的安装方式主要有两种: 1)自己安装配置nodejs的环境,然后通过npm进行appium的安装 2)直接下载官网提供的dmg进行安装,dmg里面已 ...

  9. HDU1133 Buy the Ticket —— 卡特兰数

    题目链接:https://vjudge.net/problem/HDU-1133 Buy the Ticket Time Limit: 2000/1000 MS (Java/Others)    Me ...

  10. webform中实现SQL Sever2008数据库数据分页查询

    1 分页     1.1         数据库中存储过程             已知 当前页  pageIndex  页容量 pageSize             求  总页数 pageCou ...