Probleme php

Fermé
Oli161 - 16 avril 2009 à 14:58
 Oli161 - 16 avril 2009 à 15:33
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 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
16 avril 2009 à 15:00
tu peux rajouter une checkbox "supprimer"
si elle est cochée, tu supprimes, sinon tu fais la modif
0
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 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
16 avril 2009 à 15:07
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
<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 samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 186
16 avril 2009 à 15:12
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 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 566
16 avril 2009 à 15:20
ç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
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
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 samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 186
16 avril 2009 à 15:29
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
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