|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre à l'essai
![]() Inscription : mars 2009 Messages : 170 ![]() |
Bonjour à tous,
j'ai sur une page, un formulaire qui liste les produits de la base de données. J'ai donc pour cela une boucle While. Dans cette boucle apprait une liste déroulante (qui provient d'une fonction). Cette liste permet de définir pour chaque ligne le nom du fournisseur. Dans un champs Input, je souhaite récupérer pour chacune des lignes le nom du fournisseur sélectionné. Je recharge en fait mon formulaire pour mettre à jour mon champs Input. Seulement, je n'arrive pas à récupérer pour chacune des ligne le fournisseur choisit. En gros il peut etre à chaque fois différent. Pour l'instant si je sélectionne un fournisseur pour la ligne 1, tous les champs fournisseur des autres lignes affichent la même valeur que la ligne 1 (ou une autre). Je comprend le principe, mon champs input est un tableau (si je ne me trompe pas) mais je n'arriva pas à récupérer la valeur pour chacune des lignes. J'utilise évitement des variables de SESSION Voici la fonction qui liste les fournisseurs Code :
Code :
|
||||
|
|
00
|
|
|
#2 | ||||||
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Voici comment je m'y prendrait:
Code :
Code :
Code :
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
||||||
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : mars 2009 Messages : 170 ![]() |
Merci pour ton aide, mais je ne sais pas utiliser ta proposition. Ton code m'obligerait à changer tout le mien.
Merci |
|
|
00
|
|
|
#4 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Alors tu vas devoir utiliser Ajax car je ne connais pas d'autre moyen pour envoyer plusieurs jeux de données avec un formulaire.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
00
|
|
|
#5 | ||
|
Membre habitué
![]() Inscription : mai 2004 Messages : 124 ![]() |
Salut,
En simplifiant le code que génère ton script, on obtient un truc de ce style : Code :
Code :
<SELECT name="fournisseur" id="fournisseur<?php echo $idFournisseur;" ?> En espérant qu'il s'agisse bien de cela PS : c'est un avis mais comme dit Benjamin Deslepierre, il vaudrait mieux vaut séparer au maximum ton code de ta présentation : tu ne feras que gagner en lisibilité (pense aussi aux éventuelles personnes qui liront le code derrière toi et qui te maudiront en galérant pour arriver à bien le comprendre...)
__________________
Chen norris C/C++, C#, Java, PHP & SQL coder Web developer |
||
|
|
00
|
|
|
#6 | ||
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Le problème ne vient pas tant de l'id que de l'attribut name, avec deux attributs name identiques, le second écrase le premier, le seul moyen de contourner ça est de mettre .
Faites le test vous même avec: Code :
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
||
|
00
|
|
|
#7 |
|
Membre à l'essai
![]() Inscription : mars 2009 Messages : 170 ![]() |
Merci à vous 2 pour vos réponses.
J'avais déjà essayé de mettre mais sans succès. Je ne sais pas si ce à quoi je veux arriver est clair. Je réexplique au cas ou… Ma page fait partie de mon back-office et liste tous les produits. Cette page me permet d'encoder le nouveau stock reçu. Donc la liste comprend une image, un descriptif, la liste des fournisseurs, le fournisseur choisit parmis la liste (sous forme d'input) , un input pour indiquer la quantité rentrée en stock et un bouton pour enregistrer le nouveau stock. J'ai donc tous ces éléments par ligne. Et donc pour chacun des produits, je veux pouvoir choisir dans la liste un fournisseur (-> le champ se met à jour dès sélection dans la liste puisque la page se recharge) puis on indique la quantité et on clic sur mettre à jour. Puis on passe au produit suivant… |
|
|
00
|
|
|
#8 | ||
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Citation:
Citation:
Il n'y a pas de solution toute faite à ce problème ni d'attribut miraculeux à mettre: il faut changer l'algo tout entier... Si je dis ça c'est parce que j'en ai déjà fait l'expérience.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
||
|
00
|
|
|
#9 | ||
|
Membre habitué
![]() Inscription : mai 2004 Messages : 124 ![]() |
Une solution déjà évoquée par Benjamin est d'utiliser Ajax. J'ai déjà expérimenté ce problème avec une formulaire contenant des infos sur une personne (nom, prénom, ...) et dont les champs doit pouvoir être mis à jour et enregistrés indépendamment, sans recharger la page à chaque fois.
Dans ton cas, il faut qu'au clic sur un bouton d'enregistrement appelle une méthode d'enregistrement save dont le code javascript serait le suivant : Code :
Pour récupérer les valeurs de ta ligne courante, je ne te détaille pas mais c'est faisable assez facilement en Javascript (d'où le paramètre identifiant_de_ligne d'ailleurs). N'hésite pas si tu souhaites plus d'infos pour savoir comment implémenter cette solution
__________________
Chen norris C/C++, C#, Java, PHP & SQL coder Web developer |
||
|
|
00
|
|
|
#10 |
|
Membre habitué
![]() Inscription : mai 2004 Messages : 124 ![]() |
Du nouveau dans l'avancement ? Si résolu, ne pas oublier le tag
__________________
Chen norris C/C++, C#, Java, PHP & SQL coder Web developer |
|
|
00
|
|
|
#11 |
|
Membre à l'essai
![]() Inscription : mars 2009 Messages : 170 ![]() |
Hello,
j'ai finalement présenté mon formulaire différemment afin de contourner le problème. Merci à vous 2 pour votre aide ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com