Besoin d'aide en php ou javascirpt SVP

Résolu/Fermé
a.finot Messages postés 74 Date d'inscription mardi 21 octobre 2008 Statut Membre Dernière intervention 12 février 2014 - 15 oct. 2009 à 16:27
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 15 oct. 2009 à 16:43
Bonjour,

J'ai besoin d'un petit coup de main pour afficher un élément selon un autre dans un formulaire.
Je m'explique :
- J'ai une table avec 3 champs : ID, nb, prix
- J'ai un formulaire avec un menu déroulant dynamique qui a pour valeur et étiquette le champs "nb". (j'ai une fonction javascript de calcul sur le onchange)
- J'ai un champs de texte dans lequel je voudrai que s'affiche le "prix" en fonction du "nb" sélectionné dans mon menu déroulant (et je ne peux pas faire un calcul pour l'obtenir, ce sont des prix qui ont été détérminés arbitrairement. Je suis donc obligée de passer par ma table MySql).
C'est là que j'ai un problème parce que je n'arrive pas à dire en php que la valeur de mon champs de texte = prix en fonction du nb posté !

Est-ce qu quelqu'un sait faire ça ?

Merci d'avance !
A voir également:

1 réponse

Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
15 oct. 2009 à 16:43
Bonjour,

Plusieurs solutions.
La première, la plus "simple" mais qui n'est pas adaptée à toutes les situations :
Lors de la création de ta page, tu envoies un tableau javascript contenant les prix de chaque produit. À l'actualisation, tu n'as pas besoin de repasser par ta base de données, car le tableau a été envoyé au client.
Cette méthode marche bien dans deux cas :
- La volumétrie n'est pas énorme (une centaine de lignes, mais pas plus... sinon tu augmentes ton débit de données ainsi que le temps de chargement des pages)
- Tu n'as pas peur que quelqu'un affiche le code source et voie la liste des prix (a priori y a pas de raisons, mais bon)

Deuxième méthode, utiliser AJAX. C'est quoi ? Une méthode simple pour effectuer via du javascript une requête auprès du serveur, sans recharger toute la page.
Cela se base sur l'objet XMLHttpRequest. Pour cela, il faut deux choses :
- écrire une page php qui prend en argument GET ou POST l'ID du produit ainsi que son nombre, et qui renvoie juste le prix ;
- écrire une fonction javascript qui crée une XMLHttpRequest, lui donne les bons paramètres, et appelle la page php nouvellement créée. En retour, elle lit la valeur et l'affiche au bon endroit.

La deuxième méthode est plus élégante, mais peut être un peu prise de tête au début. Ceci dit, il y a de bons tutoriels sur le net.

Bon courage,

Xavier
0