[PHP] Requete SQL sur un bouton

Fermé
MaO - 6 juin 2007 à 10:10
 invite - 28 juil. 2010 à 15:09
Bonjour,

J'aimerais que lorsque je clique sur mon bouton , la requete UPDATE... s'execute !


	?>
				<form method="post" action="" name="TableauRech">
				<?
A voir également:

37 réponses

Notice: Use of undefined constant telport - assumed 'telport' in d:\www\php\inventaire\admin\Modifpers.php on line 10

Notice: Use of undefined constant telfixe - assumed 'telfixe' in d:\www\php\inventaire\admin\Modifpers.php on line 10

Notice: Undefined index: txtnomRech in d:\www\php\inventaire\admin\Modifpers.php on line 11

Notice: Undefined index: txtprenomRech in d:\www\php\inventaire\admin\Modifpers.php on line 12

Voila exactement les erreur que j'ai !
Mais sinon il insert bien dans la table !
2
Dracwolf Messages postés 34 Date d'inscription mardi 5 juin 2007 Statut Membre Dernière intervention 10 janvier 2014 14
6 juin 2007 à 10:14
Salut,

Une solution peut être de mettre ta requete dans une fonction php que tu appel grâce à un onClick sur ton boutton
2
c'est a dire que ca donnerais un truc comme ca :

[code]
?>
<form method="post" action="" name="TableauRech" onclick=" ">
<?

Mais se que je comprend pas ( désolé je débute ), c'est comment appellé ma requete :

UPDATE personnel SET TEL_POR='"$POST[telport]"', TEL_FIXE='"$POST[telfixe];
2
Dracwolf Messages postés 34 Date d'inscription mardi 5 juin 2007 Statut Membre Dernière intervention 10 janvier 2014 14
6 juin 2007 à 11:00
OK je vois

Deja le onclick dans ta balise form ne sert a rien.
Ensuite si je peut te donner quelque conseils : mets tes require, include tout en haut de ton code, ensuite prefere une grosse requete mysql plutot que plusieurs petites (ça te fera gagner du temps).
Bref si tu donne un nom (name) a chacun de tes bouttons submit, tu pourra tester sur quel boutton tu as cliquer.

[code]
<? if (isset($_POST['submit_modif']) && $_POST['submit_modif']!="")
//ta requete
?>
<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="FormModif.php" 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>
[/code]
2

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
UPP
2
DOnc ca me change bien la valeur mais pour tout mon personne dans ma requete il faut juste ajouter

[code]
WHERE NOM='".$_POST['txtnomRech']."%'
[/code]

Mais mes variables sont definit plus loin dans le code , comment faire ?
2
Dracwolf Messages postés 34 Date d'inscription mardi 5 juin 2007 Statut Membre Dernière intervention 10 janvier 2014 14
6 juin 2007 à 10:32
En fait c'est presque ça.

alors déjà je présume que tu valide ton formulaire avec un boutton de type "submit" donc ilça donnerait plus un truc comme ça :

<? 
  if (isset($_POST['Submit']) && $_POST['Submit']!="")
  {
   $requete = mysql_qery("UPDATE personnel SET TEL_POR='".$_POST[telport]."', TEL_FIXE='".$_POST[telfixe]."'");
  }
?>
  <form method="post" action="" name="TableauRech">
          ........... ton formulaire
      <input type="submit" name="Submit" value="valide ton formulaire">
  </form>
1
[code]
<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="FormModif.php" name="TableauRech" onclick="FormModif.php">
<?
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' 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>
[/code]
enfaite voila mon code
il fait une recherche dans a base de donnée
et quand je click sur le bouton modifier il doit m'executer ma requete!
1
uppp
1
upp
1
Dracwolf Messages postés 34 Date d'inscription mardi 5 juin 2007 Statut Membre Dernière intervention 10 janvier 2014 14
6 juin 2007 à 16:23
Désolé

Tu peut posté ton code autour de la ligne 10 a savoir les 20 premières lignes
1
<?
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> 
<? echo "<a href='Modifpersindex.php'>retour</a>"; 
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); 
		
1
Dracwolf Messages postés 34 Date d'inscription mardi 5 juin 2007 Statut Membre Dernière intervention 10 janvier 2014 14
6 juin 2007 à 16:54
Il t'affiche ces erreur avant ou après avoir valider le formulaire ?
1
j'ai desormais ces erreurs là...

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


Il me les met a la validation du fomulaire.Il change les numero de telephone mais pas seulement d'une personne ,mais de toutes.
1
Dracwolf Messages postés 34 Date d'inscription mardi 5 juin 2007 Statut Membre Dernière intervention 10 janvier 2014 14
6 juin 2007 à 17:08
Je vient de remarquer que tu avait deux formulaires avec le même nom.
Ensuite s'il ne connait pas ces champs c'est normal car ils font partit du second formulaire.

Donc tu peut rajouter des champ caché dans le premier formulaire :
<? if (isset($_POST['txtnomRech']) && isset($_POST['txtprenomRech ']) && $_POST['txtnomRech']!="" && $_POST['txtprenomRech ']!="")
{
?>
<input type='hidden' name='txtnomRech' value='<? echo $_POST['txtnomRech']; ?>' >
<input type='hidden' name='txtprenomRech ' value='<? echo $_POST['txtprenomRech ']; ?>' >
<?
}
?>
1
j'ai esseyer ton code mais ca ne marche pas...toujours la meme erreur!

Alors soit c'est que je le palace pas au bon endroit , soit c'est que c'est pas ca.../s
1
Dracwolf Messages postés 34 Date d'inscription mardi 5 juin 2007 Statut Membre Dernière intervention 10 janvier 2014 14
7 juin 2007 à 08:58
Tu peut me montrer ou tu as mis le code !
1
j'ai essayer partout...
1
Dracwolf Messages postés 34 Date d'inscription mardi 5 juin 2007 Statut Membre Dernière intervention 10 janvier 2014 14
7 juin 2007 à 09:16
Essaye de fusionner tes deux formulaires en un seul
1
Dracwolf Messages postés 34 Date d'inscription mardi 5 juin 2007 Statut Membre Dernière intervention 10 janvier 2014 14
8 juin 2007 à 16:36
c'est ça
1