Insertion multiple d'employe ayant participé à une formation

lalae Messages postés 11 Date d'inscription lundi 24 août 2015 Statut Membre Dernière intervention 21 juin 2016 - Modifié par lalae le 30/08/2015 à 21:02
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 31 août 2015 à 22:22
Bonjour,
mon probleme est le suivant:
je dois inserer plusieurs personnes ayant participés à une meme formation .j'ai creer un formulaire dans lequel j'ai mis un onglet qui permet d'inserer les informations sur un adherant à la formation(j'ai joint des captures permettant de mieux comprendre mes propos).le probleme cest que lorsque je fais l'insertion d'une personne ,le formulaire concernant la formation en elle meme est reinitiliser et je n'arrive pas à inserer lesz infos sur la formation .




voici le code que j'ai ecris:


<?php
include_once('mon_entete.php');

?>
<p>
<h1>formulaire d'ajout de formation</h1>
</p>
<div >
<form method="post" action="traitement.php" enctype='multipart/form-data'>
<fieldset>
<legend>informations sur le cabinet superviseur</legend>
<p>
<label for="nom_cab">nom du cabinet</label>
<input type="text" name="nom_cab" id="nom_cab" placeholder="ex laboratoire MEKA"/>
</p>
<p>
<label for="localisation">emplacement du cabinet</label>
<input type="text" name="localisation" id="localisation" placeholder="ex yaounde,cameroun"/>
</p>
<p>
<label for="adresse">adresse du cabinet</label>
<input type="email" name="adresse" id="adresse" placeholder="ex labo@yahoo.fr"/>
</p>
<p>
<label for="telephone">coordonnees du cabinet</label>
<input type="tel" name="telephone" id="telephone" placeholder="ex 222222222"/>
</p>
<p>
<label for="bp">boite postale</label>
<input type="text" name="bp" id="bp" placeholder="ex 123 dla"/>
</p>
<p>
<label for="domain">domaines de competence du cabinet</label>
<input type="text" name="domain" id="domain"/>
</p>
</fieldset>
<fieldset>
<legend> informations sur la formation</legend>
<p>
<label for="nom">theme de la formation</label>
<input type="text" name="nom" id="nom" placeholder="lieu formation"/>
</p>
<p>
<label for="lieu"> lieu de la formation</label>
<input type="text" name="lieu" id="lieu"/>
</p>
<p>
<label for="annee"> annee de la formation</label>
<input type="text" name="annee" id="annee"/>
</p>
<p>
<label for="part">nombre de participant</label>
<input type="text" name="part" id="part"/>
</p>


</fieldset>
<a href="#portfolioModal1" class="portfolio-link" data-toggle="modal">
<button type="submit" class="btn btn-default" name="ecole">ajouter un employe</button><br/>
</a>
</br>
<p>
<input type="submit" value="enregistrer"/>
<input type="reset" value="reinitailiser"/> <br/>
</p>
</form>
</div>
<div>
<div class="portfolio-modal modal fade" id="portfolioModal1" tabindex="-1" role="dialog"
aria-hidden="true">
<div class="modal-content">
<div class="close-modal" data-dismiss="modal">
<div class="lr">
<div class="rl">
</div>
</div>
</div>
//insertion des employes
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<form action="essay.php" method="POST">
<input type="text" class="form-control" placeholder="nomemp" name="name">
</br>
<input type="text" class="form-control" placeholder="prenomemp" name="prenom">
</br>
<input type="text" class="form-control" placeholder="matricule" name="matricule">
</br>
<input type="text" class="form-control" placeholder="fonction" name="fonction">
</br>
<input type="text" class="form-control" placeholder="telephone" name="tel">
</br>
<input type="email" class="form-control" placeholder="email" name="email">
</br>
<input type="date" class="form-control" name="debut_date" placeholder="debut....">
</br>
<input type="date" class="form-control" name="end_date" placeholder="fin...." />
</br>
<input type="submit" class="btn btn-default" name="ecole">
<?php
if(isset($rep))
echo "$rep";
?>
</form>
<?php
include_once('config.php');
$idcom=@mysql_connect(DSN, user, pass);
$idbase=@mysql_select_db('monotoring_camtel');
$nomemp=mysql_escape_string($_POST["name"]);
$prenomemp=mysql_escape_string($_POST["prenom"]);
$matricule=mysql_escape_string($_POST["matricule"]);
$fonction=mysql_escape_string($_POST["fonction"]);
$telephone=mysql_escape_string($_POST["tel"]);
$email=mysql_escape_string($_POST["email"]);
$req="INSERT INTO employe(nomemp,prenomemp,matricule,fonction,telephone,email)
VALUES ('$nomemp', '$prenomemp', '$matricule', '$fonction','$telephone','$email')";
$result=mysql_query($req, $idcom);
if($result){
$rep="Enrégistrement réussie";}
else{
$rep="Enrégistrement échouée, recommencez...";}

$requete="SELECT idformation FROM formations";
$result2=mysql_query($requete,$idcom);
$nbform=mysql_num_rows($result2);
$id=$nbform+1;
$requet="SELECT idemp FROM employe";
$result1=mysql_query($requet,$idcom);
$dn=mysql_num_rows($result1);
$result1=mysql_query('INSERT INTO concerne(debutformation,finformation,idformation,idemploye) VALUES
("'.$_POST['debut_date'].'","'.$_POST['end_date'].'",'.$id.','.$dn.')');
mysql_close($idcom);
?>
</div>
</div>
</div>
</div>
</div>

</div>
</body>
<footer class="row col-sm-10">

</html>

1 réponse

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
Modifié par NHenry le 30/08/2015 à 22:15
Le PHP s'exécute de manière continue sur la page.

Donc, ton script va préparer l'envoi des informations à afficher puis faire l'ajout dans la base (donc sans données valides) puis seulement l'utilisateur verra les informations s'afficher sur son navigateur.

Il te faut faire 2 pages, une avec le formulaire et l'autre qui recevra les données de celui-ci.

Petit rappel, l'extension mysql est obsolète

J'interviens principalement en VB6 et VB.NET, avec un peu de C#, mais la modération m'amène souvent sur d'autre langages.
En VB.NET pensez à activer "Option Explicit" et "Option Strict"
0
lalae Messages postés 11 Date d'inscription lundi 24 août 2015 Statut Membre Dernière intervention 21 juin 2016
31 août 2015 à 00:21
ok merci c'est dejà une idee mais le problème c'est que en fait cest deux formulaires que je traite;un(le formulaire d'ajout d'employe )et un qui permet l'ajout d'une formulaire.et le formulaire d'employe doit s'excecuter autant de fois qu'il y aura d'employes qui auront participés à cette formation et sans toute fois perdre les donnees de la formation.
0
lalae Messages postés 11 Date d'inscription lundi 24 août 2015 Statut Membre Dernière intervention 21 juin 2016
31 août 2015 à 00:21
du coup faire deux pages ne pourra pas vraiment arranger(sauf erreur de ma part)
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
31 août 2015 à 22:22
Soit tu fais 2 pages, soit tu fais une page en testant avec "isset" si tu as des données ont été envoyées par le formulaire et sont à insérer.
0
Rejoignez-nous