passer une variable dans un bouton

passer une variable dans un bouton - PHP - Programmation

Marsh Posté le 19-06-2009 à 12:15:49    

bonjours je cherche une solution a mettre à mon bouton une variable
 
Mon bouton affiche rembourser donc j'ai dû mettre valu='rembourser' mais comme je veu récupéré une variable de mon bouton si je met valu=$commande_id  
sur l'affichage de mon bouton sa va affiché l'id  
 
et je sais pas comment fair pour passé la variable a mon bouton  
 
et une fois que j'ai appelé mon bouton je fais mon update
 
voilà mon update:

Code :
  1. $datejour = date ("Y-m-d" );
  2.  //si le bouton rembourse est appuyer
  3.  if(isset($_POST['remboursement'])){
  4.   $query_rembourse= mysql_query("UPDATE commandes SET commandes_rembourse ='".$datejour."' WHERE customers_id='".$_POST['id']."' and commandes_id = '".$_POST['remboursement']."' LIMIT 1" ); 
  5.   echo $query_rembourse;
  6.   }


 
et voilà mon bouton:
 

Code :
  1. echo("<tr><td with=\"20px\"></td><td width=\"100px\"><b>".$id_commande."</b></td><td width=\"120px\"><b>".$date_commande."</b></td><td with=\"20px\"><input type=\"button\" name=\"remboursement\" value=\"Rembourser\"></td></tr>" );


 
merci de votre aide

Reply

Marsh Posté le 19-06-2009 à 12:15:49   

Reply

Marsh Posté le 19-06-2009 à 14:02:34    

Essayer de remplacer name=\"nom_en_dur\" par name=\"".$nom_de_variable."\", ce qui donnerait :

Code :
  1. echo("<tr><td with=\"20px\"></td><td width=\"100px\"><b>".$id_commande."</b></td><td width=\"120px\"><b>".$date_commande."</b></td><td with=\"20px\"><input type=\"button\" name=\"".$id_commande."\" value=\"Rembourser\"></td></tr>" );

Edit : mais je ne suis pas sûr d'avoir vraiment compris la question.


Message édité par olivthill le 19-06-2009 à 14:04:12
Reply

Marsh Posté le 19-06-2009 à 14:14:48    

Merci de ta réponse
 
donc si j'ai bien compris pour lancé mon update:
 

Code :
  1. $datejour = date ("Y-m-d" );
  2.  //si le bouton rembourse est appuyer
  3.  if(isset($_POST['remboursement'])){
  4.   $query_rembourse= mysql_query("UPDATE commandes SET commandes_rembourse ='".$datejour."'
  5.            WHERE customers_id='".$_POST['id']."' and commandes_id = '".$_POST['remboursement']."' LIMIT 1" ); 
  6.   echo $query_rembourse;
  7.   }


 
et dans les paramètre de mon boutons je doit fair comme sa:

Code :
  1. echo("<tr><td with=\"20px\"><input type=\"radio\" name=\"reactivation\" value=\"".$id_commande."\"></td><td width=\"100px\"><b>".$id_commande."</b></td><td width=\"120px\"><b>".$date_commande."</b></td><b><td with=\"20px\"><input type=\"button\" name=\"".$id_commande."\" value=\"Rembourser\"></td></tr>" );


 
ce qui fait que le $_POST['remboursement'] sera la valeur de commande_id???

Reply

Marsh Posté le 19-06-2009 à 14:50:16    

LE problème est que ton bouton n'a pas d'action. Le mieux serait de mettre soit un onclick sur ton bouton, qui passe une action en GET, soit de rajouter dans le nom de ton bouton ta variable. Après, tu vérifies si tu as une variable POST qui commence par remboursement_ par exemple, et tu récupère ce qu'il y a après le _.


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
Reply

Marsh Posté le 19-06-2009 à 14:58:52    

comme j'avai pas de form j'ai rajouté comme sa:
 

Code :
  1. echo "<form  name=\"formulaire\" method=\"post\" action=\"sav2.php\">";
  2.   echo("<tr><td with=\"20px\"><input type=\"radio\" name=\"reactivation\" value=\"".$id_commande."\"></td><td width=\"100px\"><b>".$id_commande."</b></td><td width=\"120px\"><b>".$date_commande."</b></td><b><td with=\"20px\"><input type=\"button\" name=\"remboursement\" value=\"Rembourser\" ></td></tr>" );
  3.   echo "</form>";


 
mais comment je fais pour passer  la valeur de commande_id dans mon update??


Message édité par sinifer le 19-06-2009 à 15:32:47
Reply

Marsh Posté le 20-06-2009 à 13:39:22    

aideinfo a écrit :

LE problème est que ton bouton n'a pas d'action. Le mieux serait de mettre soit un onclick sur ton bouton, qui passe une action en GET, soit de rajouter dans le nom de ton bouton ta variable. Après, tu vérifies si tu as une variable POST qui commence par remboursement_ par exemple, et tu récupère ce qu'il y a après le _.



---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
Reply

Marsh Posté le 21-06-2009 à 06:40:48    

dans ton formulaire, ajoute un input de type="hidden". Tu peux mettre ce que tu veux dedans et il est invisible.
Quand tu récupères tes données POST, tu peux récupérer la valeur de l'input hidden comme celle de n'importe quel input.

Reply

Marsh Posté le 22-06-2009 à 08:55:17    

merci mais j'ai essayer comme tu ma dit mais quand je clique sa fait toujours rien ??  
 
je te montre mon code peu être que tu verra mieu mon erreur??
 
 

Code :
  1. echo "<form  method=\"post\" action=\"sav2.php\">";
  2.   echo("<tr><td with=\"20px\"><input type=\"radio\" name=\"reactivation\" value=\"".$id_commande."\"></td><td width=\"100px\"><b>".$id_commande."</b></td><td width=\"120px\"><b>".$date_commande."</b></td><b><td with=\"20px\"><input type=\"button\" name=\"remboursement\" value=\"Rembourser\" ></td></tr>" );
  3.   echo "</form>";
  4.   echo "<input type=\"hidden\" name=\"comm_id\" value=\"".$id_commande."\">";


 
 

Code :
  1. if (isset($_POST['remboursement'])) {
  2.   $com_id=$_POST["comm_id"];
  3.   $datejour = date ("Y-m-d" );
  4.   $query_rembourse= mysql_query("UPDATE commandes SET commandes_rembourse ='".$datejour."'
  5.            WHERE customers_id='".$_POST['id']."' and commandes_id = '".$com_id."' LIMIT 1" );
  6.   mysql_query($query_rembourse);
  7.  }
  8.  }


 
voilà ton aide est la bienvenu merci

Reply

Marsh Posté le 22-06-2009 à 12:42:09    

Déjà, il faut que le champ hidden soit dans le formulaire. Un tel champ est utile pour transmettre une information liée au formulaire (id utilisateur par exemple, je ne suis pas sûr que ce soit adapté dans ton cas, mais bon, tu verras.
Par contre, pour que le bouton serve à quelque chose, il faut qu'il transmette quelque chose. Donc, soit mettre une action par un onclick, soit le remppalcer par un bouton de type submit.


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
Reply

Marsh Posté le 22-06-2009 à 12:49:06    

ok, merci c'est ce que je vien de faire et je te montre mon code par contre sa marche toujours pas.
 

Code :
  1. if (isset($_post['remboursement'])) {
  2.          
  3.             $datejour = date ("Y-m-d" );
  4.             $query_rembourse= mysql_query("UPDATE commandes SET commandes_rembourse =\"".$datejour."\"
  5.                                           WHERE customers_id='".$com_id."' and commandes_id='".$_POST['remboursement']."' LIMIT 1" );
  6.   mysql_query($query_rembourse);
  7.             echo $query_rembourse;
  8.         }


 
et mon bouton
 

Code :
  1. echo "<input type=\"hidden\" name=\"comm_id\" value=\"".$id_commande."\">";
  2.   echo("<tr><td with=\"20px\"><input type=\"radio\" name=\"reactivation\" value=\"".$id_commande."\"></td><td width=\"100px\"><b>".$id_commande."</b></td><td width=\"120px\"><b>".$date_commande."</b></td><b><td with=\"20px\"><input type=\"submit\" name=\"remboursement\" value=\"".$id_commande."\" ></td></tr>" );

Reply

Marsh Posté le 22-06-2009 à 12:49:06   

Reply

Marsh Posté le 22-06-2009 à 20:03:34    

Reply

Marsh Posté le 23-06-2009 à 08:27:47    

aideinfo a écrit :

Qu'est-ce qui ne marche pas ?


 
mon problème c'est que quand je click par exemple sur le boutton qui porte 'id 40777 sa m'éfface l'id 390054 celui qui est le dernier sur ma liste ainsi de suite ???
quand je fais un echo de mon id c'est pas l'id que j'ai clické
 
mais si je mets l'id dans mon valu sa marche.

Reply

Marsh Posté le 23-06-2009 à 21:00:38    

Je ne vois pas comment un UPDATE peut supprimer un enregistrement...


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed