Autour de Laravel

Besoin de faire un remplissage automatique dans mon formulaire

Avatar de GueldanyPanzu
GueldanyPanzu

Je souhaite faire un remplissage automatique de mon formulaire à partir de des informations qui se trouve dans ma *table Users ** 1.view formulaire: presence_candidat.blade.php @extends('layouts.app') @section('content')

@if($listUser->count()>0)

@foreach ($listUser as $list) {{ $list->name }}
@endforeach @endif

    <div class="row">
      <div class="col-md-6">
        <div class="form-group">
            <label for="">Adresse mail</label>
            <input type="email" class="form-control" id="" placeholder="Entrer votre email">
        </div>
        <div class="form-group">
            <label for="">Numero</label>
            <input type="number" class="form-control" id="" placeholder="Entrer votre numero">
        </div>
        <div class="form-group">
            <label for="InputNom">Nom</label>
            <input type="text" class="form-control" id="" placeholder="Entrer votre postnom">
        </div>
        <div class="form-group">
            <label for="exampleInputEmail1">Postnom</label>
            <input type="text" class="form-control" id="" placeholder="Entrer votre prenom">
        </div>
        <div class="form-group">
            <label for="exampleInputEmail1">Prenom</label>
            <input type="text" class="form-control" id="" placeholder="Entrer votre adresse physique">
        </div>
        
        
        <!-- /.form-group -->
        
        <!-- /.form-group -->
      </div>
      <!-- /.col -->
      <div class="col-md-6">
        <div class="form-group">
          <label for="">Adresse Physique</label>
          <input type="text" class="form-control" id="" placeholder="Entrer votre adresse physique">
      </div>
       
        <div class="form-group">
            <label>Genre</label>
            <select class="form-control select2">
              <option selected="selected">Homme</option>
              <option>Femme</option>
            </select>
          </div>
        <div class="form-group">
          <label>Profession</label>
          <select class="form-control select2">
            <option selected="selected">Etudiant</option>
            <option>Professionnel</option>
            <option>Autre</option>
          </select>
        </div>
        <!-- /.form-group -->
        <div class="form-group">
            <label>Universite</label>
            <select class="form-control select2" style="width: 100%;">
              @foreach ($etablissements as $e)
                <option>{{ $e->nom}}</option>
              @endforeach
            </select>
          </div>
          <div class="form-group">
            <label for="">Faculté</label>
            <input type="text" class="form-control" id="" placeholder="Entrer votre faculté">
         </div>
        <!-- /.form-group -->
      </div>
      <div class="card-footer text-right">
        <button type="submit" class="btn btn-primary float-right">Valider</button>
      </div>
      <!-- /.col -->
    </div>

@endsection

2.controller formulaire: PresencesCandidatController.php <?php

namespace App\Http\Controllers;

use App\Models\presences_candidat; use App\Models\etablissement; use App\Models\User; use Illuminate\Http\Request;

class PresencesCandidatController extends Controller { /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { // $etablissements= Etablissement ::all(); $user = presences_candidat::all(); return view('presence_candidat') ->with('listUser',$user) ->with('etablissements',$etablissements); }

/**
 * Show the form for creating a new resource.
 *
 * @return \Illuminate\Http\Response
 */
public function create()
{
    //
}

/**
 * Store a newly created resource in storage.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return \Illuminate\Http\Response
 */
public function store(Request $request)
{
    //
}

/**
 * Display the specified resource.
 *
 * @param  \App\Models\presences_candidat  $presences_candidat
 * @return \Illuminate\Http\Response
 */
public function show($id)
{
    //
    $value = User ::findOrFail($id);
    return view('presence_detail')->with('user',$value);
}

/**
 * Show the form for editing the specified resource.
 *
 * @param  \App\Models\presences_candidat  $presences_candidat
 * @return \Illuminate\Http\Response
 */
public function edit(presences_candidat $presences_candidat)
{
    //
}

/**
 * Update the specified resource in storage.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  \App\Models\presences_candidat  $presences_candidat
 * @return \Illuminate\Http\Response
 */
public function update(Request $request, presences_candidat $presences_candidat)
{
    //
}

/**
 * Remove the specified resource from storage.
 *
 * @param  \App\Models\presences_candidat  $presences_candidat
 * @return \Illuminate\Http\Response
 */
public function destroy(presences_candidat $presences_candidat)
{
    //
}

}

Merci de votre aide

Avatar de Larabiz
Larabiz

Je vais ignorer tes exemples de code qui sont bien trop longs et plutôt t'expliquer comment faire d'une manière générique.

Voici comment ça pourrait se présenter dans ton contrôleur. Ici, il s'agit de la méthode permettant d'afficher ton formulaire (que nous pré-remplirons) :

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserController extends Controller
{
    public function __construct()
    {
        $this->middleware('auth');
    }

    public function edit(Request $request)
    {
        return view('user.edit', ['user' => $request->user()]);
    }
}

Et enfin, dans ta vue :

<label for="email">E-mail</label>
<input type="text" name="email" id="email" value="{{ $user->email }}" />

C'est aussi simple que ça ! 👍

— Benjamin de Larabiz

Vous ne pouvez pas répondre à ce sujet.