Tu penses vraiment qu'on peut t'aider si tu n'en dis (ou fais) pas plus ??
1/ => RE-donne ton code (tout),
2/ => donne le "code source généré" (ton navigateur -> "afficher la source")
qu'on voit si la liste déroulante est bien alimentée.
Version imprimable
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:
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:
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 !
=>Citation:
$_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:$n_demande = $_POST['n_demande'];
Cette partie est inutile (à supprimer) :Code:$idDemande = $_POST['idDemande'];
:alerte: Avant de faire QUOI QUE CE SOIT en BDD : PROTEGE la BDD / les données !Code:
1
2
3
4
5 $result = mysql_query(" SELECT * FROM demande WHERE n_demande = '" . $n_demande . "' ");
La requete update devient :Code:
1
2 $idDemande = mysql_real_escape_string($idDemande); $n_demande = mysql_real_escape_string($n_demande);
Code:
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) );