📄题目要求
- 阅读下列说明、效果图和代码,进行动态网页开发,回答问题1至问题4。
🧩说明
- 该程序为一个问卷调查系统,使用PHP的Laravel框架编程,项目名称为XXX,核心文件包括路由文件web.php、模板文件(信息展示模板news.blade.php)、控制器文件newscontroller.php。实现批量删除功能。
基于Laravel框架,回答下列问题,填写(1)至(10)。
🧩效果图
信息展示模板页面:对应模板文件news.blade.php
先选中需要删除的数据,点击“批量删除”按钮,如下图所示。
💻PHP代码+问题
1️⃣web.php
Route::get('/', function () { return view('welcome'); }); // 后台首页 Route::___(1)_ ___(['namespace'=>'Admin','prefix'=>'admin'],function(){ // 后台商品管理模块 Route::resource('goods','GoodsController'); Route::get('news_ajax',"Newscontroller@aajax"); });2️⃣GoodsController.php
- 将数据库中的数据展示到news.blade.php文件上,请根据页面目录结构并分析代码,填写(2)-(4)
namespace App\Http\Controllers\admin; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use DB; class Newscontroller extends Controller{ public function aajax(){ //获取到ajax传来的需要删除的id $id = $_GET['str']; //把传来的所有id改为数组形式 explode 字符串转数组 $str = __(5)__ _(",",$id); //利用循环将需要删除的id 一个一个进行执行sql; foreach($str as $v){ DB::delete(“delete from product where id=?”,[$v]); DB::table('product')->_ ___(6)______->delete();//删除数据的条件 } ___(7)_____;//返回删除的数据id } }3️⃣Newscontroller.php
- 当点击‘批量删除’时,需要请求一个地址从数据库中删除选中的数据。分析相关的控制器文件和模板文件,填写(5)-(7)
USE info_manage; alter table news add newtype int(4) after title;4️⃣信息展示模板news.blade.php
在信息展示模板文件news.blade.php中,使用for循环显示信息,显示需要数据由GoodsController类中index()返回时传递,点击‘批量删除按钮’,批量删除选中的数据,分析index()方法和模板文件,填写(8)-(10)。
_____(8)____('muban.admin') @section('content') <div class="content"> <table> ____(9)_ __ <tr> <td align="center"> <input type="checkbox" name="box" value="{{$v->id}}" class="box"/> td> <td>{{$v->id}}td> <td>{{$v->title}}td> <td>{{$v->pric}}td> <td>删除td> <tr> @endforeach table> <input type="button" value="批量删除" id="but"> div> <script> $("#but").click(function(){ //获取到所有的input var box = $("input[name='box']"); //去所有的input长度 length =box.length; // alert(length); var str =""; for(var i=0;i //如果数组中的checked 为true 就将他的id进行拼接 if(box[i].checked==true){ str =str+","+box[i].value; } } //将拼接的字符串第一个,号删除 str= str.substr(1); //ajax 将id传入后台 $.ajax({ url:"______(10)__{{url(“admin/ news_ajax”)}}___", type:"get", data:{str:str}, success:function (a) { a.forEach(function(ele){ $("input").each(function(){ if($(this).val()==ele){ $(this).parents("tr").remove(); } }) }) } }) }) script> @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分)
🎯点赞收藏,防止迷路🔥