我正在创建 Laravel 在线考试。我必须获取 quetion_id 和用户选择的选项。选项正在请求中,但在请求中仅获取最后一个问题 id。如何解决此问题请帮助我...
quiz.blade.php
<div class="image-container set-full-height" style="">
<!-- Big container -->
<div class="container">
<div class="row">
@if(count($fetchQuestions) > 0)
<div class="col-sm-8 col-sm-offset-2">
<div class="wizard-container">
<div class="card wizard-card" data-color="azzure" id="wizard">
<div id="demo" class="text-center">
</div>
<script src="{{asset('pages/js/timer.js')}}"></script>
<div class="topnav" id="myTopnav">
<a class="bg-dark">{{$fetchQuestions[0]->name}}</a>
</div>
<form action="{{url('get-result')}}" method="post">
@csrf
<div class="wizard-navigation">
<ul class="nav nav-pills">
@foreach ($fetchQuestions as $key => $question2)
<li><a href="#{{$question2->id}}" data-toggle="tab">{{$question2->id}}</a></li>
@endforeach
</ul>
</div>
<div class="tab-content" id="">
@foreach ($fetchQuestions as $question)
<input type="hidden" id="{{$question->id}}" name="qid" value="{{$question->id}}">
@if($question->type != 'subjective')
<div class="tab-pane" id="{{$question->id}}">
<h4 class="options">
{{$question->id}}.{{$question->question}}@if($question->type == 'image_type') <img src="{{asset($question->question_image)}}">
@endif
</h4>
<label class="radio">A. {{$question->option_a}}
<input type="radio" name="user_answer" value="{{$question->option_a}}">
<span class="checkmark"></span>
</label>
<label class="radio">B. {{$question->option_b}}
<input type="radio" name="user_answer" value="{{$question->option_b}}">
<span class="checkmark"></span>
</label>
<label class="radio">C. {{$question->option_c}}
<input type="radio" name="user_answer" value="{{$question->option_c}}">
<span class="checkmark"></span>
</label>
<label class="radio">D. {{$question->option_d}}
<input type="radio" name="user_answer" value="{{$question->option_d}}">
<span class="checkmark"></span>
</label>
</div>
@else
<div class="tab-pane" id="id{{$key+1}}">
<h4 class="options">{{$key+1}}.{{$question->question}}</h4>
<input type="text" class="form-control" name="answers">
</div>
@endif
@endforeach
<div class="wizard-footer">
<div class="pull-right">
<input type='submit' class='btn btn-next btn-fill btn-info btn-wd btn-sm' name='next' value='Save & Next' />
<input type='submit' class='btn btn-finish btn-fill btn-info btn-wd btn-sm' name='finish' value='Finish'/>
</div>
<div class="pull-left">
<input type='button' class='btn btn-previous btn-fill btn-info btn-wd btn-sm' name='previous' value='Previous' />
</div>
<div class="clearfix"></div>
</div>
</div>
</form>
</div>
</div>
</div>
@else
<div class="col-sm-8 col-sm-offset-2">
<div class="wizard-container">
<div class="card wizard-card" data-color="azzure" id="wizard">
<div id="clockdiv" class="text-center"></div>
<div class="topnav" id="myTopnav">
<center>Questions not found</center>
</div>
</div>
</div>
</div>
@endif
</div> <!-- row -->
</div> <!-- big container -->
</div>
QuizController.php
namespace App\Http\Controllers\AdminControllers;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use DB;
use Session;
class PageController extends Controller
{
public function technical($student_id,$quiz_id){
// $fetchQuestions = DB::table('quiz_questions')->where('quiz_id','=',$quiz_id)->get();
$fetchQuestions = DB::table('quiz_master')
->join('quiz_questions','quiz_questions.quiz_id','=','quiz_master.id')
->where('quiz_master.id','=',$quiz_id)
->get();
//dd($fetchQuestions);
return view('pages.technical',compact('fetchQuestions','student_id'));
}
public function getresult(Request $request){
return $request;
// $requestdata->session()->put('key', $request);
dd($request->all());
//return redirect()->back();
//Session::put('variableName', $request->all());
}
}
最佳答案
输入的名称也应该是动态的,否则您将只能得到最后一个。
<input type="hidden" id="qid{{$question->id}}" name="qid{{$question->id}}" value="{{$question->id}}">
现在您将得到所有问题。
关于mysql - Laravel Blade 输入隐藏值请求仅给出最后一个值,如何获取请求中的唯一 id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58831860/