|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | |||||
|
Invité régulier
![]() Inscription : mars 2007 Messages : 29 ![]() |
Bonjour à tous et à toutes,
j'ai un petit souci: voila j'ajoute des renseignements à partir d'un formulaire comportante des listes déroulantes. Ces variables vont bien s'enregistrer dans la BDD, mais au moment de les modifier ma variable réelle devient fausse et prend la 1ere par défaut Je m'explique: Quand j'enregistre on va mettre par exemple continent: Europe (de la liste déroulante) Mais si on veut modifier ce n'est plus europe qui s'aafiche mais afrique, c'est a dire le 1er de ma liste Code :
Code :
Citation:
Quelqu'un peu m'aider STP Merci a vous Mélanie |
|||||
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() |
moi aussi j'ai une erreur de ce style c'est a dire que je met une certaine donnée à partir d'une liste déroulante ça s'enregistre bien dans ma base de données mais quand je fais modifier à partir de ma page et bien il me met la première valeur comme pour jermel2........pourtant j'ai d'autre listes déroulantes et ça fonctionne super bien mais pas avec celle-ci .......
|
|
|
00
|
|
|
#3 | ||
|
Membre régulier
![]() |
J'ai parcouru vite fait le code mais ça me paraît normal ce problème. Je n'ai pas vu de valeur par défaut de la liste donc en gros elle affiche la première option.
Pour que la valeur de la liste prenne celle qui se trouve dans la base de données, il faut utiliser selected dans la balise option. Petit exemple rapide avec une date (sachant que $jour_d contient le résultat d'une requête SQL) Code :
|
||
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Inscription : mars 2003 Messages : 50 ![]() |
Salut,
Le choix de l'élément à afficher dans la combo sera déterminé par la présence ou non de l'attribut "selected" (jusqu'ici tout va bien), as tu essayé de suivre la valeur de tes variables $selectXX en faisant des "echo" jusqu'a ton select? Si oui, à quel moment n'ont elle plus la bonne valeur? |
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() |
ok merci je testerais avec un selected dans ma balise option
pour les echo je sais pas mais en tout cas ma requete fonctionne |
|
|
00
|
|
|
#6 |
![]() ![]() Développeuse PHP/Java Inscription : avril 2007 Messages : 3 686 ![]() |
Salut
En plus de tout ce qui vient d'être cité, je te conseille d'ajouter un print_r($_POST) en début de script, qui te permettra de connaitre toutes les valeurs passées par POST. Des fois, ça sert...
__________________
Modératrice PHP Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) |
|
|
00
|
|
|
#7 |
|
Membre régulier
![]() |
oui désolé j'ai parcouru trop vite effectivement les selected y sont, comme le dit Pysk0B0b essaie de suivre leurs valeurs
sinon tu peux essayer à la place de echo <?=$selectAMO;?> |
|
|
00
|
|
|
#8 | |
|
Invité régulier
![]() Inscription : mars 2007 Messages : 29 ![]() |
Citation:
Du coup j'ai testé avec d'autre listes déroulantes et le problème est le meme... La question que je me suis posée: Sachant que lorsque j'intègre dans ma BDD les valeurs de mes liste déroulantes, le nom de mon <option> n'est pas modif_mission mais mission Pourtant j'ai testé mais ça ne m'a rien changé et il me récupère bien mais autres variables sauf celle de la liste Je deviens vraiment a cours d'idées Meric de votre aide Melanie |
|
|
|
00
|
|
|
#9 | |
![]() ![]() Développeuse PHP/Java Inscription : avril 2007 Messages : 3 686 ![]() |
Et mon print_r, tu l'as testé ?
Normalement, ça donne une horrible série de trucs de la forme Citation:
__________________
Modératrice PHP Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) |
|
|
|
00
|
|
|
#10 | ||
|
Invité régulier
![]() Inscription : mars 2007 Messages : 29 ![]() |
Citation:
Citation:
Tous les renseignements de la BDD s'affichent convenablement sauf mes listes Mais si je les modifient elles sont bien prises en comptes c'est ça le plus horrible, bon principe, mais mauvais affichage
|
||
|
|
00
|
|
|
#11 |
![]() ![]() Développeuse PHP/Java Inscription : avril 2007 Messages : 3 686 ![]() |
Je croyais que ton index qui existe sans exister c'était modif_mission. As-tu ou non cet index là dans la liste ?
__________________
Modératrice PHP Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur) Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) |
|
|
00
|
|
|
#12 |
|
Membre régulier
![]() |
et modif_mission avec print_r ?
sinon essaie de passer modif_mission avec GET ou place la variable dans une session, avec le code coupe je vois mal la structure mais modif_mission n'est affectée que lorsque tu fais envoyer |
|
|
00
|
|
|
#13 |
|
Invité régulier
![]() Inscription : mars 2007 Messages : 29 ![]() |
oui tout a fait.
Ce qui se passe en fait c'est que je rentre l'ID d'un chantier et tous mes renseignements de la BDD s'affichent dans mon formulaire si je teste <?php print_r($_POST); ?> avant mon <select> il m'affiche le numero du chantier que je veux modifier, mais si je le test avant mes <option> il n'apparrait meme pas sur ma page |
|
|
00
|
|
|
#14 | |
|
Invité régulier
![]() Inscription : mars 2007 Messages : 29 ![]() |
Citation:
je lui dis que si envoyer existe alors il fait les modifications dans la BDD et la il n'y a pas de souci c'est vraiment à l'affichage quand il doit récupérer les variables de la base qui ne passent pas. En gros quand il affiche mon formulaire avec les champs de la BDD, ça donne un effet de formulaire pré-rempli, tu vois mon souci ? |
|
|
|
00
|
|
|
#15 |
|
Membre régulier
![]() |
quelque chose doit m'échapper dans le problème : le problème se situe bien au niveau de modif_mission ? si oui quel est le rapport avec l'id du chantier puisque modif_chantier n'intervient pas dans la liste déroulante, non ?
ton switch se base sur modif_mission que tu n'attribues que sur Envoyer donc il me paraît normal que pour lui cette variable ne soit pas déclarée. Bref j'ai la puce à l'oreille à ce niveau. |
|
|
00
|
|
|
#16 |
|
Membre du Club
![]() |
sur ma liste déroulante j'ai bien vérifié le selected et je l'avais déjà mis......je vais essayer vos autre méthodes mais je ne comprends pas vraiment leur principe
|
|
|
00
|
|
|
#17 | |
|
Invité régulier
![]() Inscription : mars 2007 Messages : 29 ![]() |
Citation:
Sur une page tu choisis ce que tu veux faire par exemple modifier une chantier, un client.. Tu tapes donc l'ID de ce que tu veux modifier et tu envois. A partir de la tu tombes sur mon super formulaires qui récupères des variables déjà existantes dans la base et qui les affichent dans les champs correspondant Ex: chantier -->62 description --> Chantier rénové en 2007 après les incidents du .... et la 3 listes déroulantes (l'exemple le plus concret est les continents, mais modif_mission est du meme principe) quand j'ai ajouté mon chantier je lui ai attribué un continent prenons ici l'Europe et bien en dessous de ma description je vais avoir continent --> Afrique car il n'arrive pas a m'afficher le véritable select="selected", il prend donc le 1er de la liste comme mes continents sont classés dans l'ordre alphabétique et bien il prend l'Afrique Le problème pour modif_mission est le meme: on a pu faire une expertise sur un pont et bien il me mettra que c'est une maitrise d'oeuvre hors que tous les autres champs (sauf listes déroulantes) sont convenablement remplis il a donc bien récupéré mes variables mais pas celles des listes |
|
|
|
00
|
|
|
#18 | |
|
Membre régulier
![]() |
tu as du répondre au moment où j'ai édité mon message, j'ai ajouté ce point :
Citation:
pour moi il manque un 'SELECT mission from trucmuche WHERE id_chantier="'.$_POST['modif_chantier'].'"' |
|
|
|
00
|
|
|
#19 |
|
Invité régulier
![]() Inscription : mars 2007 Messages : 29 ![]() |
Et la c'est bon ? je me suis mieux expliquée ?
C'est pour ça qu'au début je pensais que la faute venais de mon premier formulaire, la ou je rentre les champs car dedans il ne s'appel pas modif_mission, mais simplement mission du coup j'ai testé mais ça ne fonctionne pas non plus Mais ce qui m'intrigue c'est que mes autres champs fonctionnent sans problème je recupère bien mes variables alors pourquoi mes listes déroulantes ne fonctionnent pas (car j'ai testé et il ne passe pas par mon switch) |
|
|
00
|
|
|
#20 | ||||
|
Membre régulier
![]() |
oui je pense avoir bien compris mais peut être que je m'exprime mal aussi car vraiment ça me saute aux yeux que ta variable $modif_mission (selon moi) n'est pas attribuée.
Déjà tu peux ajouter un default à ton switch et je pense que tu verras qu'il passe bien dedans. Ensuite je recherche dans ton code où $modif_mission est attribuée : Code :
Par contre dans : Code :
|
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com