• PHP使用Laravel框架编程实现问卷调查系统并且实现批量删除功能(1+X Web前端开发中级 例题)


    📄题目要求

    • 阅读下列说明、效果图和代码,进行动态网页开发,回答问题1至问题4。

    🧩说明

    • 该程序为一个问卷调查系统,使用PHP的Laravel框架编程,项目名称为XXX,核心文件包括路由文件web.php、模板文件(信息展示模板news.blade.php)、控制器文件newscontroller.php。实现批量删除功能。
    • 基于Laravel框架,回答下列问题,填写(1)至(10)。

    🧩效果图

    • 信息展示模板页面:对应模板文件news.blade.php

    • 先选中需要删除的数据,点击“批量删除”按钮,如下图所示。

    💻PHP代码+问题

    1️⃣web.php

    1. Route::get('/', function () {
    2. return view('welcome');
    3. });
    4. // 后台首页
    5. Route::___(1)_ ___(['namespace'=>'Admin','prefix'=>'admin'],function(){
    6. // 后台商品管理模块
    7. Route::resource('goods','GoodsController');
    8. Route::get('news_ajax',"Newscontroller@aajax");
    9. });

    2️⃣GoodsController.php

    • 将数据库中的数据展示到news.blade.php文件上,请根据页面目录结构并分析代码,填写(2)-(4)
    1. namespace App\Http\Controllers\admin;
    2. use App\Http\Controllers\Controller;
    3. use Illuminate\Http\Request;
    4. use DB;
    5. class Newscontroller extends Controller{
    6. public function aajax(){
    7. //获取到ajax传来的需要删除的id
    8. $id = $_GET['str'];
    9. //把传来的所有id改为数组形式 explode 字符串转数组
    10. $str = __(5)__ _(",",$id);
    11. //利用循环将需要删除的id 一个一个进行执行sql;
    12. foreach($str as $v){
    13. DB::delete(“delete from product where id=?”,[$v]);
    14. DB::table('product')->_ ___(6)______->delete();//删除数据的条件
    15. }
    16. ___(7)_____;//返回删除的数据id
    17. }
    18. }

    3️⃣Newscontroller.php

    • 当点击‘批量删除’时,需要请求一个地址从数据库中删除选中的数据。分析相关的控制器文件和模板文件,填写(5)-(7)
    1. USE info_manage;
    2. alter table news add newtype int(4) after title;

    4️⃣信息展示模板news.blade.php

    • 在信息展示模板文件news.blade.php中,使用for循环显示信息,显示需要数据由GoodsController类中index()返回时传递,点击‘批量删除按钮’,批量删除选中的数据,分析index()方法和模板文件,填写(8)-(10)。

    1. _____(8)____('muban.admin')
    2. @section('content')
    3. <div class="content">
    4. <table>
    5. ____(9)_ __
    6. <tr>
    7. <td align="center">
    8. <input type="checkbox" name="box" value="{{$v->id}}" class="box"/>
    9. td>
    10. <td>{{$v->id}}td>
    11. <td>{{$v->title}}td>
    12. <td>{{$v->pric}}td>
    13. <td>删除td>
    14. <tr>
    15. @endforeach
    16. table>
    17. <input type="button" value="批量删除" id="but">
    18. div>
    19. <script>
    20. $("#but").click(function(){
    21. //获取到所有的input
    22. var box = $("input[name='box']");
    23. //去所有的input长度
    24. length =box.length;
    25. // alert(length);
    26. var str ="";
    27. for(var i=0;i
    28. //如果数组中的checked 为true 就将他的id进行拼接
    29. if(box[i].checked==true){
    30. str =str+","+box[i].value;
    31. }
    32. }
    33. //将拼接的字符串第一个,号删除
    34. str= str.substr(1);
    35. //ajax 将id传入后台
    36. $.ajax({
    37. url:"______(10)__{{url(“admin/ news_ajax”)}}___",
    38. type:"get",
    39. data:{str:str},
    40. success:function (a) {
    41. a.forEach(function(ele){
    42. $("input").each(function(){
    43. if($(this).val()==ele){
    44. $(this).parents("tr").remove();
    45. }
    46. })
    47. })
    48. }
    49. })
    50. })
    51. script>
    52. @endsection

    🎯实现效果

    📰完整答案

    试题四(20分)
    【问题】(20分)
    (1)group
    (2)App\Http\Controllers\Admin
    (3)use DB
    (4)with
    (5)explode
    (6)where('id',"=","$v")
    (7)return $str
    (8)@extends
    (9)@foreach($data as $v)
    (10){{url('admin/news_ajax')}}
    (每空2分,共20分)


    🎯点赞收藏,防止迷路🔥 


  • 相关阅读:
    端口被谁占用如何解决?
    Dubbo环境搭建
    6.2.2 基于ZIP文件安装MySQL
    python --- 类与对象(二)
    JMETER自适应高分辨率的显示器
    前端Javascript | 数组值随机选择函数
    UEFI-PciHostBridge
    es入门教程
    群晖NAS使用Docker部署WPS Office结 合内网穿透实现远程编辑本地文档
    递归:一维链表和数组
  • 原文地址:https://blog.csdn.net/weixin_53231455/article/details/127814223