Jump to content

[PHP] Formulaire de modification de donnée


Recommended Posts

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,

Link to comment
Share on other sites

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 ...

Link to comment
Share on other sites

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 ?

Link to comment
Share on other sites

<?
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?

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...