|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Nouveau Membre du Club
![]() Inscription : janvier 2007 Messages : 143 ![]() |
bonjour
j'ai un souci de stockage des données après leurs sélection le formulaire de saisie après la sélection, dans une liste déroulante après je stocke l’élément sélectionné dans une variable qui doit être réutilisé alors il m'affiche le message "undefined index code_region" cette variable doit être utilisé dans une 2ème liste déroulante sélection Code :
|
||
|
|
00
|
|
|
#2 | ||
|
Nouveau Membre du Club
![]() Inscription : janvier 2007 Messages : 143 ![]() |
Rebonjour
apres avoir regarder encore voici de la ligne 32 à la ligne 37, on selecionne un region à la ligne 55 on fait une autre selection en fonction du code de la region selectionné cela nous permet d'avoir dans la 2ème liste deroulante les cercles selon la région selection plus haut. Code :
|
||
|
|
00
|
|
|
#3 |
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 695 ![]() |
Salut
Il y a à mon avis une erreur de syntaxe coté HTML. Une balise OPTION (d'un select) devrait être codée comme ceci : Code :
<option value="la_valeur">Le texte</option>
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2007 Messages : 143 ![]() |
ok, j'ai testé comme vous avez dit,
j'ai modifier la ligne 28, Code :
<option value="" selected>  => <option value="la_valeur" selected>  |
|
|
00
|
|
|
#5 |
|
Membre chevronné
![]() Inscription : juillet 2003 Messages : 625 ![]() |
Bonjour,
L'erreur t'indique que ta variable n'a pas été initialisée
__________________
Le savoir est utile que s'il est partagé par tous. /(bb|[^b]{2})/ !sleep() ? array((string)) |
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2007 Messages : 143 ![]() |
rebonjour
j'ai regardé les explications, mais il me semble que le problème est peut être différent, car, j'arrive à récupérer, la valeur lors d'insertion dans ta table et la table est bien alimenter mais cela marche seulement quand je le mets dans un fichier séparée mais si je met cette ligne dans le code pour faire ma liste déroulante alors il affiche un message d'erreur. j'ai deux liste déroulante dont l'une dépend de l'autre . Merci |
|
|
00
|
|
|
#7 | ||
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 695 ![]() |
Ce n'est pas suffisant à mon sens.
Essai comme ça (pour les 2 SELECT) : Code :
Il te faudra très certainement modifier ce code (de base) pour permettre de sélectionner un code_region par défaut. Concernant l'erreur, code_region, suit les explications du lien qu'on t'as fourni. Mais il va te falloir revoir un peu le déroulement de ton code, car ton 2ème menu déroulant est totalement dépendant du 1er à priori. Il te faut initialiser un code_region par défaut, car théoriquement, lorsqu'on affiche cette page la toute 1ère fois, le code_region est inexistant. Il faudra aussi vérifier l'existence du code_region lorsqu'un choix sera fait ($_POST). Si tel est le cas, alors cette donnée sera le code_region par défaut. - Le selected (du 1er select) devra alors être selon le code_region pas défaut - La seconde requête devra se faire selon ce même code_region par défaut. Vois tu mieux le problème ? En espérant avoir bien saisi aussi.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
||
|
|
00
|
|
|
#8 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2007 Messages : 143 ![]() |
Bonjour
Comme indiqué, j'ai modifier la formulaire avec le code que vous avez indiqué, j'ai remarque lorsque la page est charge, par défaut le code du premier élément de la liste est sélectionné. mais pas dans le même code, le seul inconvénient est que je ne peux récupérer sans cliquer sur le bouton submit lorsque je clique sur le bouton submit alors je peux récupérer la valeur du code_region dans la variable $code_region dans un autre fichier php qui me sert à l'insertion dans la table. et lorsque je ramène ce code dans le fichier du formulaire le même message s'affiche. |
|
|
00
|
|
|
#9 | ||
|
Nouveau Membre du Club
![]() Inscription : janvier 2007 Messages : 143 ![]() |
Rebonjour
j'ai repris le code et il se présente comme tel. avec cette architecture, il marche, mais je suis sure que il a besoin d'une modélisation si petite que cela soit. j'ai mis cote à cote 2 formulaires dans le premier formulaire, lorsque on sélectionne un élément de la liste déroulante, il faut cliquer sur le bouton ok pour que le valeur soit transmise à la variable qui est est ensuite utilisé pour faire la recherche dans la table cercle, avec where sur le code de la région qui est égal à la valeur de la variable de comparaison. et on arrive à avoir la deuxième liste déroulante qui fonctionne. ce code peut être lourd, alors si on peut le perfectionné cela m'aider bcp j'ai regardé aussi le code de l'insertion dans la table, cela fonction comment améliorer cette présentation ou cet architecture du code. Merci Code :
|
||
|
|
00
|
|
|
#10 | ||
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 695 ![]() |
Désolé, mais je n'ai pas compris grand chose.
Je t'ai mis un code qui se voulait de base pour juste te permettre de comparer, de corriger ton code car il y avait une erreur de syntaxe. Ça n'allait pas au-delà. Pour ce qui est du fonctionnement de ta page concernant les 2 menus déroulant (code_region et code_cercle), peut être faudrait que tu décrive ce que tu veux obtenir. Mais comme ça, peut être faudrait il faire ça avec 2 formulaires, un juste pour le code_region, un autre pour le reste (entre autre le code_cercle). Puis rajouter onchange + un JS submit() dans le SELECT du code_region afin de recharger la page pour cette fois obtenir le code_region sélectionné. Rajouter un champ caché dans le 2ème formulaire pour le code_region en rapport avec celui par défaut afin d'obtenir toutes les données au submit. Toujours est il que, quelque soit la manière dont on arrivera dans cette page formulaire, il te faut vérifier l'existence du code_region (POST), et s'il y a rien, il faut en déterminer un par défaut, peu importe la manière Ça peut être la 1ère ligne (enregistrement) que revoie la requête, le 1er élément du tableau $code_re par exemple. Si tu ne fais pas ça, tu auras toujours une erreur. Exemple : Code :
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
||
|
|
00
|
|
|
#11 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2007 Messages : 143 ![]() |
OK,
le nouveau code que j'ai présenté fonctionne, il n'affiche pas d'erreur, les deux liste de roulante marche bien, seulement j'ai dit que vous pourrez m'aider à ameliorer peut etre que le codage est lourd. j'ai repris les options de select comme vous avez indiqué la premiere fois, seulement j'ai remarqué : pour que le $_post[code_region] existe, il faut qu'il soit mis apres un submit à la fin du formulaire et j'ai appliqué ce principe là je vais voir comment ameliorer le code pour le rendre plus performant avec le bout de code que vous avez donné encore, le premier m'a aidé à alleger le code en supprimant 8 lignes au total car il y avait des repetions dans mon ancien code. Merci de votre assistance |
|
|
00
|
|
|
#12 |
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 695 ![]() |
Il n'est inutile de hurler aussi fort, je ne suis pas sourd C'est justement pour ça que je t'es suggéré de créer 2 formulaires : - 1 formulaire pour le code_region, qui pointera sur ce même formulaire, qui au bout permettra d'obtenir le code_region sélectionné. Celui ci aura pour but de choisir un autre code_region que celui par défaut (le 1er), qui au submit dû au onchange va recharger cette même page et va envoyer en POST le code_region sélectionné. Une fois la page recharger, on obtiendra dans $_POST le nouveau code_region. A savoir qu'il n'est pas nécessaire de créer un bouton submit pour ce formulaire. - 1 autre pour le reste où celui-ci pointera vers ton autre page pour insertion. L'utilisateur peu changer autant de fois de code_region qu'il veut, (comme se tromper), ce n'est pas pour autant que le 2ème formulaire sera soumis (submit). A savoir qu'une donnée reçue en POST sera dispo dès la toute 1ère ligne de code de la page si elle existe. Faire la vérification au plus tôt sera la meilleure façon de précéder, surement pas à la fin en tout cas, il faut que ça se fasse avant la création du menu déroulant du code_region pour justement sélectionné le bon code_region. As tu compris le principe ? A savoir que ce genre de truc peu ce faire en Ajax, ce qui évite de recharger la page (mais c'est très différent). M'enfin, ce n'est pas la méthode que tu as choisi, je ne fais que la respecter. Il est vrai que ce n'est pas la plus optimisée, mais elle a l'avantage d'être efficace, et surtout plus simple à faire.
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
|
|
00
|
|
|
#13 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2007 Messages : 143 ![]() |
Bonjour
comment faire pour code de maniere à ne pas mettre le bouton submit dans le premier formulaire et place le code dela fonction onchange, si vous pouvez me montrer un exemple de bout code de cela, j'ai pas encore utilisé cette fonction Merci |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com