Probleme php

Oli161 -  
 Oli161 -
Bonjour à tous,

je me demandais s'il serait possible de réaliser plusieurs actions à partir d'une seule liste déroulante (par exemple, pour une base de donnée, une liste donnant un ensemble de clients et des boutons "modifier" et "supprimer" s'y rapportant).
J'ai actuellement réussi un code me permettant uniquement de modifier les données d'un client :


<?php
$db_user = $_SERVER['DB_USER'];
$db="eheins_$db_user";
$db_pass = $_SERVER['DB_PASS'];
$db_host = 'localhost';
$link= mysql_connect($db_host, $db_user, $db_pass);
if (! $link)
die("Couldn't connect to MySQL");
mysql_select_db($db , $link)
or die("Couldn't open $db: ".mysql_error());
$request=mysql_query("select naffiliation,nom,prenom from client");
if(!$request)
{
print("erreur de recherche :".mysql_error());exit;
}
print("<form action=modifmembre2.php method=post>
Choix du membre<br>
<select name=naffiliation>");
while ($row=mysql_fetch_array ($request))
{
print("<option value=$row[0]>$row[1],$row[2]</option> ");
}
print("</select>
<input type=submit value=modifier>
</form> ");
mysql_close($link);
?>




Je vous remercie d'avance pour vos suggestions.
A voir également:

9 réponses

ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
tu peux rajouter une checkbox "supprimer"
si elle est cochée, tu supprimes, sinon tu fais la modif
0
Oli161
 
Le problème revient au même. Je ne parviens pas a associer deux actions à une même liste que ce soit pour 2 boutons ou pour une checkbox et un bouton. (merci pour la rapidité de ta réponse).
0
ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
ben c'est tout bête

t'as juste un if qui fait soit une action de suppression, soit de modification.

On peut voir ton code, parce que là...
0
Oli161
 
<html><head><title>Modification d'un membre</title></head>
<body bgcolor="#99ccff">
<?php
$db_user = $_SERVER['DB_USER'];
$db="eheins_$db_user";
$db_pass = $_SERVER['DB_PASS'];
$db_host = 'localhost';
$link= mysql_connect($db_host, $db_user, $db_pass);
if (! $link)
die("Couldn't connect to MySQL");
mysql_select_db($db , $link)
or die("Couldn't open $db: ".mysql_error());
$request=mysql_query("select naffiliation,nom,prenom from client");
if(!$request)
{
print("erreur de recherche :".mysql_error());exit;
}
print("<form action=modifmembre2.php method=post>
Choix du membre<br>
<select name=naffiliation>");
while ($row=mysql_fetch_array ($request))
{
print("<option value=$row[0]>$row[1],$row[2]</option> ");
}
print("</select>
<input type=submit value=modifier>
</form> ");
mysql_close($link);
?>
<br>
<form method="POST" action="membre.php">
<input type="submit" value="Retour">
</form>
</body>
</html>
0

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

Posez votre question
jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
tu pourrais passer par un javascript ...

tu créé 2 formulaires contenant chacun un champ hidden (qui sera plus tard remplit avec l'élément choisi dans la liste)

tu créé 2 bouton en y associant chacun une méthode (par exemple valid_forme1 qui validera ton formulaire 1 et valid_forme2 pour ton second ...)

tu enleve le bouton submit, et tu mets à la place un bouton qui appelera la méthode valid_forme1 => onclick="valid_forme1()"

tu fais un 2eme bouton qui appelera la méthode valid_forme2

tes méthodes valid_forme1 et valid_forme2 récupèrent la valeur de la liste déroulante, et remplissent le champs hidden du form choisi avec la valeur récupérée, puis soumet le formulaire ...


la méthode peut paraître barbare mais doit fonctionner XD
0
ThEBiShOp Messages postés 8411 Date d'inscription   Statut Contributeur Dernière intervention   1 566
 
ça c'est ta page de formulaire, mais ta page de traitement elle est ou ?

heu passer par le javascript pour un truc aussi simple... hum
0
Oli161
 
celle du bouton modifier :

<html><head><title>Modification d'un membre</title></head>
<body bgcolor="#99ccff">
<?php
$naffiliation=$_POST['naffiliation'];
$db_user = $_SERVER['DB_USER'];
$db="eheins_$db_user";
$db_pass = $_SERVER['DB_PASS'];
$db_host = 'localhost';
$link= mysql_connect($db_host, $db_user, $db_pass);
if (! $link)
die("Couldn't connect to MySQL");
mysql_select_db($db , $link)
or die("Couldn't open $db: ".mysql_error());
$query=" SELECT * FROM client WHERE naffiliation='$naffiliation'";
$result=mysql_query($query);
$num=mysql_num_rows($result);
$row=mysql_fetch_array ($result);
$naffiliation=$row[0];
$nom=$row[1];
$prenom=$row[2];
$rue=$row[3];
$cp=$row[4];
$ville=$row[5];
$tel=$row[6];
$nfamille=$row[7];
$nequipe=$row[8];

?>
<table width="900" cellpadding="10" cellspacing="0" border="2">
<tr align="center" valign="top">
<td align="center" colspan="1" rowspan="1" bgcolor="#64b1ff">
<form action="modifmembre3.php" method="post">


Numéro d'affiliation: <input type="text" name="ud_naffiliation" value="<?php print "$naffiliation"?>"><br>
Nom: <input type="text" name="ud_nom" value="<?php print "$nom"?>"><br>
Prénom: <input type="text" name="ud_prenom" value="<?php echo "$prenom"?>"><br>
Rue: <input type="text" name="ud_rue" value="<?php print "$rue"?>"><br>
CP: <input type="text" name="ud_cp" value="<?php echo "$cp"?>"><br>
Ville: <input type="text" name="ud_ville" value="<?php print "$ville"?>"><br>
Tél: <input type="text" name="ud_tel" value="<?php echo "$tel"?>"><br>
Numéro de famille: <input type="text" name="ud_nfamille" value="<?php echo "$nfamille"?>"><br>
Numéro d'équipe: <input type="text" name="ud_nequipe" value="<?php echo "$nequipe"?>"><br>

<input type="Submit" value="Effectuer la modification">
</form>
</td></tr></table>
</body>
</html>
0
Oli161
 
et celle du bouton supprimer :

<html><head><title>Supprimer membre</title></head>
<body>
<?php
$naffiliation=$_POST['naffiliation'];
$db_user = $_SERVER['DB_USER'];
$db="eheins_$db_user";
$db_pass = $_SERVER['DB_PASS'];
$db_host = 'localhost';
$link= mysql_connect($db_host, $db_user, $db_pass);
if (! $link)
die("Couldn't connect to MySQL");
mysql_select_db($db , $link)
or die("Couldn't open $db: ".mysql_error());
mysql_query("DELETE FROM client where naffiliation=$naffiliation")or die("Delete Error: ".mysql_error());
mysql_close($link);
print "Membre supprimé.\n";
?>
<br><br>
<form method="POST" action="modifmembre.php">
<input type="submit" value="Supprimer un autre membre">
</form><br>
<form method="POST" action="accueil.php">
<input type="submit" value="Accueil">
</form>
</body>
</html>
0
jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
Heu tu veux le faire comment seulement en php ?
sachant qu'il y a 2 formulaires et une seule liste déroulante qui est utilisée dans les 2 :S
0
Oli161
 
Ma question était justement de savoir si c'était possible et si oui, comment?

L'autre solution à laquelle je pensais, c'était d'afficher à côté d'un tableau contenant les membres, une colonne supplémentaire où on pourrait cocher les membres à supprimer et puis cliquer sur le boutton "supprimer".
0