emploze Posté(e) le 5 juin 2007 Partager Posté(e) le 5 juin 2007 Bonjour, je suis nouveau sur se forum.Je suis en BTS informatique de gestion et j'effectu un stage dans une entreprise. J'espere que vous pourrez m'aider sur mon probleme ! Le but de mon formulaire:[/b] Lorsque je selectionne une personne dans la liste déroulante, le numero de fixe et numero de portable s'inscrivent respectivement dans les deux cases du dessous, pour que la standardiste de l'entreprise puisse modifier les numeros de telephone quand elle veux. Le code: <html> <head> <title>Modifier une personne</title> </head> <body BGCOLOR=#ffffe0 TARGET="gauche"> <h2 align=center> Modifier une personne </h2> <form method="post" action=''> <table width="70%" border="0" cellspacing="1" cellpadding="6"> <form action ="" method=post> <table> <tr> <td>Nom et prenom:</td> <td> <select onchange ="this.form.submit()" name ="Nom" value=<? if (isset($_POST['Nom'])) echo $_POST['Nom']; ?>><br>> <? require ("..\connect.php"); $Marequete = 'select NOM, PRENOM from personnel ORDER BY NOM'; $resultatrequete = mysql_query ($Marequete); $ligne = mysql_fetch_array($resultatrequete); while($ligne) { echo "<option value = ".$ligne[NOM].">".$ligne[NOM]." ".$ligne[PRENOM]."</option>"; $ligne = mysql_fetch_array($resultatrequete); } ?> </select> </td> </tr> </table> <tr> <tr> <td>Téléphone fixe : </td> <td><input type="text" name="TEL_FIXE" size="25" value=<? $REQUETE = "SELECT TEL_FIXE FROM `personnel`WHERE NOM='".$_POST['Nom']."'"; $exec = mysql_query ($REQUETE); $info_de_la_requete = mysql_fetch_array($exec); echo $info_de_la_requete['TEL_FIXE'] ?>><br></td> </tr> <tr> <td>Téléphone portable : </td> <td><input type="text" name="TEL_POR" size="25" value=<? $REQUETE = "SELECT TEL_POR FROM `personnel`WHERE NOM='".$_POST['Nom']."'"; $exec = mysql_query ($REQUETE); $info_de_la_requete = mysql_fetch_array($exec); echo $info_de_la_requete['TEL_POR'] ?>><br></td> </tr> </table> <center> <input type="submit" name="Submit" value="Valider"> <input type="Reset" name="Reset" value="Effacer"> </center> </form> </body> </html> Le probleme : Lorsque je selectionne une personne dans la liste déroulante il affiche bien les données dans les deux case du dessous, mais la liste déroulante remet la donnée d'origine. J'ai essayer avec, onchange ="this.form.submit()" et il change directement les donnée quand je selectionne dans la liste mais la liste se raffraichit aussi. Quel astuce pouvez vous me donner ? Es que quelqu'un peut m'orienter? Merci d'avance, Lien vers le commentaire Partager sur d’autres sites More sharing options...
Eagle1 Posté(e) le 5 juin 2007 Partager Posté(e) le 5 juin 2007 pour ma culture: this.form.submit envoie la donéne du formulaire dans la page active ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
emploze Posté(e) le 5 juin 2007 Auteur Partager Posté(e) le 5 juin 2007 Ayant apprit ce code juste hier ^^ je te repondrais oui mais j'en suis pas trés sûr... Lien vers le commentaire Partager sur d’autres sites More sharing options...
theocrite Posté(e) le 5 juin 2007 Partager Posté(e) le 5 juin 2007 Si j'ai bien compris le problème, tu n'as pas besoin de submit le formulaire pour changer les valeurs de deux champs. Tu peux le faire directement en modifiant les valeurs dans le onChange. Lien vers le commentaire Partager sur d’autres sites More sharing options...
emploze Posté(e) le 5 juin 2007 Auteur Partager Posté(e) le 5 juin 2007 tout a fait ! Mais justement c'est cette valeur dans le onchange qui mepose probleme pour l'instant ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Eagle1 Posté(e) le 5 juin 2007 Partager Posté(e) le 5 juin 2007 quand tu dit que la liste se réinitialise, explique un peu je comprend pas bien... Lien vers le commentaire Partager sur d’autres sites More sharing options...
emploze Posté(e) le 5 juin 2007 Auteur Partager Posté(e) le 5 juin 2007 BEn si tu veux dans la liste se sont des NOM et PRENOM Et il sont ordonner par NOM. Donc elle se reinitialisera au premier NOM. Lien vers le commentaire Partager sur d’autres sites More sharing options...
emploze Posté(e) le 5 juin 2007 Auteur Partager Posté(e) le 5 juin 2007 bon j'ai revu tout mon code . Desormait mon code me demande un NOM et un PRENOM, il recherche dans la base de donnée, si il les trouve il m'affiche les donnée a modifier sinon il m'affiche un message d'erreur. <fieldset style="width: 600px"> <legend>Modifier une personne</legend> <table> <? if(isset($_POST["Valid"]))//vérifie si on a cliquer sur rechercher { ?> <? if ($_POST['txtnomRech'] != "" || $_POST['txtprenomRech'] != "")//vérifie si les zones de texte nom et prénom ne son pas vide { require ("..\connect.php"); $reqmodif = "SELECT * FROM personnel WHERE NOM LIKE '".$_POST['txtnomRech']."%' AND PRENOM LIKE '".$_POST['txtprenomRech']."%' "; $Resultatmodif = mysql_query($reqmodif); $Modif = mysql_fetch_array($Resultatmodif); if($Modif)//On vérifie que le nom ou prénom existe { ?> <form method="post" action="administration.php?categ=ConfirmModification" name="TableauRech"> <? while($Modif) { echo "<TR>"; echo "<TD><font color='#FFFFFF'> $Modif[NOM] </font></TD>"; echo "<TD><font color='#FFFFFF'> $Modif[PRENOM]</font></TD>"; echo "<TD><input type='radio' name ='btn_Modif' value='".$Modif['TEL_POR']."'></TD>"; echo "</TR>"; $Modif = mysql_fetch_array($Resultatmodif); } ?> <tr> <td colspan="3"><input type='submit' value='Modifier'></td> </tr> </form> <? } else//sinon on affiche que le nom ou prénom n'éxiste pas { echo "le nom et prénom sont introuvable<br>"; echo "<a href='administration.php?categ=Modification'>retour</a>"; } } else//sinon on affiche que le nom et prénom doit être saisie { echo "Veuillez saisir un nom et prénom<br>"; echo "<a href='administration.php?categ=Modification'>retour</a>"; } } else { ?> <form name="frm_recherche" action="" method="post"> <tr> <td>Nom :</td> <td><input type="text" name="txtnomRech" value=""></td> </tr> <tr> <td>Prénom :</td> <td><input type="text" name="txtprenomRech" value=""></td> </tr> <tr> <td colspan="2" align="center"><input type="hidden" name="Valid" value="1"><input type="submit" value="Rechercher"></td> </tr> </form> <? } ?> </table> </fieldset> Mon probleme est pour afficher les données a modifier qui sont le TELEPHONE PORTABLE et le TELEPHONE FIXE ... Lien vers le commentaire Partager sur d’autres sites More sharing options...
emploze Posté(e) le 6 juin 2007 Auteur Partager Posté(e) le 6 juin 2007 si quelqu'un pouvait me dire comment on fait pour executer une requete SQL sur une page, qui correspond a un formulaire qui se trouve sur une autre. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Eagle1 Posté(e) le 6 juin 2007 Partager Posté(e) le 6 juin 2007 ben tu récupère une donnée par $_POST qui permet d'identifier le tupe sql que tu désire (la ligne) ensuite tu fais $var=select nananan from ananna where id=$_POST echo $var tu vois ce que je veux dire ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
emploze Posté(e) le 6 juin 2007 Auteur Partager Posté(e) le 6 juin 2007 <? if (isset($_POST['submit_modif']) && $_POST['submit_modif']!="") { require ("..\connect.php"); $requete = mysql_query("UPDATE personnel SET TEL_POR='".$_POST[telport]."', TEL_FIXE='".$_POST[telfixe]."' WHERE NOM LIKE '".$_POST['txtnomRech']."%' AND PRENOM LIKE '".$_POST['txtprenomRech']."%'"); } ?> <fieldset style="width: 600px"> <legend>Modifier une personne</legend> <table> <? if(isset($_POST["Valid"]))//vérifie si on a cliquer sur rechercher { ?> <? if ($_POST['txtnomRech'] != "" || $_POST['txtprenomRech'] != "")//vérifie si les zones de texte nom et prénom ne son pas vide { ?> <form method="post" action="" name="TableauRech"> <? require ("..\connect.php"); $reqmodif = "SELECT * FROM personnel WHERE NOM LIKE '".$_POST['txtnomRech']."%' AND PRENOM LIKE '".$_POST['txtprenomRech']."%' "; $Resultatmodif = mysql_query($reqmodif); $Modif = mysql_fetch_array($Resultatmodif); if($Modif)//On vérifie que le nom ou prénom existe { while($Modif) { echo "<TR>"; echo "<TD> $Modif[NOM] </TD>"; echo "<TD> $Modif[PRENOM] </TD>"; ?> <form name="frm_recherche" action="" method="post"> <tr> <td>Telephone portable :</td> <td><input type="text" name="telport" value=<? if (isset($_POST['telport'])) echo $_POST['telport']; $REQUETE = "SELECT TEL_POR FROM `personnel`WHERE NOM='".$_POST['txtnomRech']."'"; $exec = mysql_query ($REQUETE); $info_de_la_requete = mysql_fetch_array($exec); echo $info_de_la_requete['TEL_POR'] ?>></td> </tr> <tr> <td>Telephone fixe :</td> <td><input type="text" name="telfixe" value=<? $REQUETE = "SELECT TEL_FIXE FROM `personnel`WHERE NOM='".$_POST['txtnomRech']."'"; $exec = mysql_query ($REQUETE); $info_de_la_requete = mysql_fetch_array($exec); echo $info_de_la_requete['TEL_FIXE'] ?>></td> </tr> <? echo "<TD><input type='radio' name ='btn_Modif' value='".$Modif['NOM']."'></TD>"; echo "</TR>"; $Modif = mysql_fetch_array($Resultatmodif); } ?> <tr> <td colspan="3"><input type='submit' name="submit_modif" value='Modifier'></td> </tr> </form> <? } else//sinon on affiche que le nom ou prénom n'éxiste pas { echo "le nom et prénom sont introuvable<br>"; echo "<a href='administration.php?categ=Modification'>retour</a>"; } } else//sinon on affiche que le nom et prénom doit être saisie { echo "Veuillez saisir un nom et prénom<br>"; echo "<a href='administration.php?categ=Modification'>retour</a>"; } } else { ?> <form name="frm_recherche" action="" method="post"> <tr> <td>Nom :</td> <td><input type="text" name="txtnomRech" value=""></td> </tr> <tr> <td>Prénom :</td> <td><input type="text" name="txtprenomRech" value=""></td> </tr> <tr> <td colspan="2" align="center"><input type="hidden" name="Valid" value="1"><input type="submit" value="Rechercher" name="submit_recherche"></td> </tr> </form> <? } ?> </table> </fieldset> Bon j'ai bien avancé dans mon code! Il modifie dans la table les données, mais pour tout le personnel. erreurs: Resource id #4 Notice: Use of undefined constant telport - assumed 'telport' in d:\www\php\inventaire\admin\Modifpers.php on line 5 Notice: Use of undefined constant telfixe - assumed 'telfixe' in d:\www\php\inventaire\admin\Modifpers.php on line 5 Notice: Undefined index: txtnomRech in d:\www\php\inventaire\admin\Modifpers.php on line 6 Notice: Undefined index: txtprenomRech in d:\www\php\inventaire\admin\Modifpers.php on line 7 d'ou ca vient? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Eagle1 Posté(e) le 7 juin 2007 Partager Posté(e) le 7 juin 2007 avant d'utiliser toute variable exporter depuis une autre page tu dois vérifier leur existance: if(isset($_POST["telport "])) { if(isset($_POST["telfixe"])) { code } } Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.