Bonsoir à tous, je suis confronté à un un problème dont je n'arrive pour l'instant pas à résoudre.

En image voici mes entités: http://www.hostingpics.net/viewer.php?id=443792schema.png

Donc pour expliquer ça correctement: je dois permettre à l'utilisateur de choisir quel type d'équipements il veut ajouter. Les types d'équipement sont dans un select. Une fois le type d'équipement choisit (soit Stockages, soit Generators comme sur l'image) le formulaire d'un des deux doit apparaître (Ajax|jQuery).

Mais c'est un ajout dans la base, donc je dois en même temps qu'ajouter un generator (par exemple si c'est un type generator choisit dans le select) ajouter les données de la table équipements qui vont avec. Donc en validant le formulaire je dois persister les données dans la table équipement et dans la table generator. Vous me suivez?

En gros, choix du type équipement, chargement dynamique d'un formulaire pour l'AJOUT d'un équipement et en même temps du type choisit. Cela veut dire que l'id d'équipement doit bien correspondre à l'ajout du generator (si je choisis generator bien entendu).

Comment pourrai-je procéder? Sachant que là je vous donne les tables generators et stockage mais en fait j'ai 9 autres tables come ceci.

2 réponses


Bonsoir dev_julien.

Je vous propose de faire ceci :

Page de selection du type d'equipements->

<form>
    <select id="selecteur_equipement">
        <option value="{{ path('route_formulaire_ajout_stockage') }}">Stockage</option>
        <option value="{{ path('route_formulaire_ajout_generator') }}">Generator</option>
     </select>
<form>
<div id="formulaire_en_ajax"></div>
<script src="{{ asset('chemin/vers/ajax_formulaire.js')}}"></script>

Dans le js

$('#selecteur_equipement').change(function() 
{
    var url = $(this).val();
    $.get(url , {} , function(formulaire) 
    {   
        $("#formulaire_en_ajax").html(formulaire); // libre à vous de faire les animations que vous voulez ici.
    })
})

Il vous suffit maintenant de créer les actions et vues qui vous permettent d'afficher vos formulaires correspondants.

Après l'insertion vous pouvez rediriger vers la même route.

En espérant que cela vous sera utile.

@Balbert,

merci pour votre suggestion, je vais essayer ceci demain au travail. Je reviendrai ici posté de nouveau quand tout sera éclaircit.

Toutefois, cela ne va pas changer mon problème quand au fait d'ajouter à la fois dans la table generator ou stockage (selon le choix fait au préalable) et la fois dans ma table/entité équipement.

Si vous regardez bien le lien de l'image poster dans mon premier post, l'id d'équipement se trouve bien dans chaque "sous table" generator ou stockage. Je dois donc trouver un moyen pour ajouter les deux en même temps, de cette manière l'id d'équipement correspond bien à la sous table que je souhaite ajouter (soit generator ou soit stockage). J'ai essayé les embed form de symfony en suivant la doc mais je n'y suis pas encore arrivé. Je vais me penché là dessus toutefois.

Merci en tout cas, j'essaierai ta suggestion dès mon arrivé au bureau demain.