Besoin d'aide ?

Plusieurs input radio

Avatar de anonymus
anonymus

Bonjour,

J'ai un formulaire avec plusieurs input radio, mais ces input radio s'affichent seulement si la question est une question à choix unique. J'ai donc :

  • une table questions : id, enonce, typeQuestion
  • une table reponses : id, intitule, questions_id
  • une table enregistrements_resultats : id, questions_id, reponse, identifiantResultat

La table enregistrements_resultats permet d'enregistrer les réponses de la personne qui a rempli le formulaire et il va pouvoir retrouver ses réponses grâce un nombre random attribué (identifiantResultat)

Voici ma vue :

@foreach($questions_reponses as $question_reponse)
		      		<div class="card">
						<div class="card-header">
							Question {{$question_reponse->id}}/{{$questions->count()}}
					  	</div>
					  	<div class="card-body">
						    <h5 class="card-title">{{$question_reponse->enonce}}</h5>
						    <p class="card-text">
							    @if($question_reponse->typeQuestion == 'A')
								    <select name="reponse" class="custom-select" required>
							        	<option selected>Choisissez votre réponse</option>
							        	@foreach($question_reponse->reponses as $reponse)
							        	<option value="{{$reponse->id}}">{{$reponse->intitule}}</option>
							        	@endforeach
							        </select>
									@elseif ($question_reponse->typeQuestion == 'B')
										@if($question_reponse->id == '1')
										<input type="email" class="form-control" name="reponse" required>
										@elseif($question_reponse->id == '2')
										<input type="number" class="form-control" name="reponse" required>
										@else
								    	<input type="text" class="form-control" name="reponse" required>
								    	@endif
									@else
									@for($i = 1; $i < 6; $i++)
									<div class="form-check">
							        	<input type="radio" class="form-check-input" name="reponse" required value="{{$i}}">
										<label class="form-check-label" for="{{$i}}">
								        	{{$i}}
								        </label>
							        </div>
									@endfor
								@endif
							</p>
						</div>
					</div>
				@endforeach

Le problème c'est que j'attribué le même name à tous les input radio donc ça ne marche pas vraiment... Comment faire pour différencier les input radio pour chaque question concernée ? Peut-être que mes tables ne sont pas bien faites... Au final, j'aimerais enregistrer toutes les réponses données (champ reponse) pour chaque utilisateur dans cette table enregistrements_resultats.

Merci de votre aide !

Avatar de pierrocknroll
pierrocknroll

Je nommerai mes inputs radio avec l'id de la question : reponse[$question->id]

Avatar de anonymus
anonymus

Ah oui ok super merci beaucoup !

Vous ne pouvez pas répondre à ce sujet.