liste déroulante avec 2 choix de boutons

Eléphant du PHP | 120 Messages

05 août 2009, 00:33

bonjour,

malgré une recherche sur le forum, je n'ai rien trouvé qui traite de mon probleme.
J'ai créé une page qui affiche des résultats dans une liste déroulante. Au bout de la ligne, j'ai 2 boutons "Modifier" et "Supprimer" qui permettent donc d'afficher une page différente, contenant un script différent : le 1er pour modifier le contenu de la ligne choisie dans la liste, le 2e pour supprimer cette ligne.
Malheureusement, ca c'est la théorie car en pratique, je ne sais pas comment faire, car chaque bouton doit etre rattaché à un <form> différent, afin que l'action soit distincte, il me semble...
Sauf que je ne peux pas avoir 2 <form> différents car je n'ai qu'un seule liste et le choix de cette liste conditionne les parametres de l'action.

voila un exemple de mon code, avec seulement un <form> pour l'action "modifier"...comment faire pour avoir l'action "supprimer" dans ce cas tout en récupérant les memes variables du choix de la liste ?

Code : Tout sélectionner

<form method="post" name="form1" action="chambre_modif.php"> <td align="right"><span class="generalJaune">Liste des Chambres déjà présentes :</span></td> <td> <select name="lid_chambre" class="fond_gris"> <option value="0">Choisissez :</option> '; $l_base1 = eco_connect(); $requete1 = "SELECT * FROM 2009_chambre ORDER BY numero"; $resultat1 = eco_query($l_base1,$requete1); eco_close($l_base1); while ($enregistrement1 = mysql_fetch_array( $resultat1 )) { echo ' <option value="'.$enregistrement1['id'].'"> Chambre '.$enregistrement1['numero'].' - </option> '; } echo ' </select> </td> <td nowrap="nowrap"> <input type="submit" name="Modifier" value="Modifier"> &nbsp; <input type="submit" name="Valider" value="Supprimer"> </td> </form>
merci de votre aide !
si tu as un soucis en informatique, dis toi bien que quelqu'un d'autre l'a eu avant toi

ViPHP
AB
ViPHP | 5818 Messages

05 août 2009, 00:46

Tu peux très bien mettre un bouton supprimer et un modifier à l'intérieur d'un même formulaire et distinguer l'un ou l'autre à la réception pour faire des actions différentes
<?php

if(isset($_POST['suppr'])) {

//suite du code

}

if(isset($_POST['modif'])) {

//suite du code

}

?>

<form action="#" method = "post">
<p>
<input type = "submit"  name = "suppr"  value = "supprimer" />

// autres input...

<input type = "submit"  name = "modif"  value = "modifier" />
</p>
</form>
Mais évidemment il est plus simple dans ce cas que les traitements de modification et de suppression se trouvent dans la même page.

Eléphant du PHP | 120 Messages

05 août 2009, 01:47

raaah excellent !
je savais pas qu'on pouvait faire ca !
et effectivement, mes traitements de modif et supprim sont sur la meme page donc c'est parfait !

merci bcp pour ton aide ! c'est pile ce qu'il me fallait !
si tu as un soucis en informatique, dis toi bien que quelqu'un d'autre l'a eu avant toi

ViPHP
AB
ViPHP | 5818 Messages

05 août 2009, 01:53

Je me souviens que je m'étais posé la même question quand à mes débuts j'avais commencé avec dreamweaver :)