J'ai terminé la partie suppression et ajout des checkbox de mon formulaire côté admin
Il me reste encore la partie modification des checkbox mais je ne sais pas bien comment me servir des update, à part faire des requêtes de modification simples sur msyql, sur php cela s'avère plus complexe
Voici le fichier p_formsup.php (partie formulaire)
Et voici le fichier t_formsup.php (partie traitement)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 <!-- ******************************** SELECTION DES CHECKBOX ******************* --> <form method="post" action="./index.php?page=formsup"> <select name="idDemande"> <?php // requete : liste de toutes les demandes $sSQLDemande = "SELECT id, n_demande FROM demande GROUP BY id"; $qDemande = mysql_query($sSQLDemande) or die('Erreur SQL !'.$sSQLDemande.'<br>'.mysql_error()); ; while($aData = mysql_fetch_array($qDemande)){ ?> <option value="<?php echo $aData['id'];?>"><?php echo $aData['n_demande']; ?></option> <?php } ?> </select> <!-- *************** MODIFICATION CHECKBOX DEMANDE ********************** --> <input type="submit" name="modifierdemande" value="modifier" /> <?php if(isset($_POST['modifierdemande'])){ ?> <input type="text" name="n_demande" value ="<?php if(isset($n_demande)&& isset($_POST['confirmmodifdemande'])){echo htmlentities($n_demande, ENT_QUOTES);}?>"/> <?php if(empty($n_demande)&&(isset($_POST['confirmmodifdemande']))){echo "champ vide";}?> <input type="submit" name="confirmmodifdemande" value="confirmer" onclick="javascript:return confirm('Voulez-vous vraiment ajouter une demande de site ?');" /> <?php if(isset($MsgModifExistant)){echo $MsgModifExistant;}?> <?php }?>
C'est ce dernier fichier qui me pose problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 <?php if(isset($_POST['confirmmodifdemande'])){ $_POST['$n_demande']=$n_demande; $result = mysql_query(" SELECT * FROM demande WHERE n_demande = '" . $n_demande . "' "); $modif = mysql_query(" UPDATE demande SET n_demande = '" . $n_demande . "' WHERE n_demande = '" . $n_demande . "' "); } var_dump($_POST); ?>
Comme vous pouvez voir j'ai d'abord créé un bouton modifier qui doit permettre de récupérer la valeur du champs après que celle ci soit sélectionnée dans la liste des checkbox demande. Il apparaît alors la valeur sélectionnée dans le champs texte. On efface alors manuellement la valeur inscrite dans ce champs en la remplaçant par la valeur que l'on souhaite obtenir et lorsque l'on clique sur le bouton confirmer la nouvelle valeur remplace celle d'origine. Voilà ce vers quoi je souhaiterais tendre.
J'ai analysé le code au niveau des variables $_POST et j'ai le message suivant :
array(3) { ["idDemande"]=> string(2) "60" ["modifierdemande"]=> string(8) "modifier" ["n_demande"]=> string(0) "" }
Il s'avère donc que n_demande n'a pas de value mais surtout je ne sais pas comment utiliser update pour ce cas ci et s'il n'y a pas une technique plus adaptée pour remédier à mon problème.
Ce n'est pas n_demande qui n'a pas de value.
C'est surtout que tu as fait une erreur d'inattention ... et de conception !
=>$_POST['$n_demande']=$n_demande; //+ ... c'est l'inverse !
Et id_demande ? tu ne le récupères pas ?? Pourtant, c'est ca qui identifie la demande à modifier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part $n_demande = $_POST['n_demande'];
Cette partie est inutile (à supprimer) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part $idDemande = $_POST['idDemande'];
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $result = mysql_query(" SELECT * FROM demande WHERE n_demande = '" . $n_demande . "' ");Avant de faire QUOI QUE CE SOIT en BDD : PROTEGE la BDD / les données !
La requete update devient :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $idDemande = mysql_real_escape_string($idDemande); $n_demande = mysql_real_escape_string($n_demande);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $modif = mysql_query( "UPDATE demande SET n_demande = '" . $n_demande . "' WHERE id_demande = '" . $idDemande . "';" // ou id ?? (c'est toi qui sais) );
Dernière modification par Invité ; 26/08/2011 à 08h58.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager