Problème pour récuperer des variables POST - Débutant -

Problème pour récuperer des variables POST - Débutant - - PHP - Programmation

Marsh Posté le 10-08-2004 à 11:59:16    

Salut, alors voilà, je sèche depuis quelques heures sur le problème suivant (je débute hin  :??: ): dans un formulaire de vente en ligne du type "mon panier", l'utilisateur renseigne une quantité pour chacun des articles selectionnés sur le site, que je récupère dans une variable POST du style $qte_1, $qte_2 etc... Seulement le hic, c'est que je ne peux pas connaître à l'avance le nombre de lignes dans le "panier" et donc le nombre de $qte_x, $qte_y, $qte_z.
Qq'un aurait une idée de la méthode à suivre pour récuperer toutes les variables $qte dans un tableau ?

Reply

Marsh Posté le 10-08-2004 à 11:59:16   

Reply

Marsh Posté le 10-08-2004 à 12:55:31    

oui, on appelle ça une base de données

Reply

Marsh Posté le 10-08-2004 à 13:06:25    

le truc c'est de faire un tableau dès le départ, cad dans le formulaire lui-même :

Code :
  1. <input type="text" name="tab_qtes[]" />
  2. <input type="text" name="tab_qtes[]" />
  3. ...


note les crochets qui indique que la variable sera postée comme tableau.
 
dans le script de traitement, ca se récupère comme ça:

Code :
  1. if (!empty($_POST['tab_qtes']) {
  2. foreach ($_POST['tab_qtes'] as $num_article=> $quantite) {
  3.    ...
  4. }
  5. }


 
ca peut même être plus subtil puisque tu peux nommer précisemment ton champ: name="tab_qtes['article1']" et les récupérer de la mm façon sauf que ce ne sera pas num_article mais nom_article, histoire de pouvoir faire des traitements différenciés.

Reply

Marsh Posté le 10-08-2004 à 14:26:16    

Merci, je n'avais pas songé à passer directement un tableau comme "nom" de mon champ en HTML. Effectivement tout marche correctement maintenant.
 
Ah j'allais oublier, merci également à Harkonnen pour sa réponse parfaitement inutile et condescendante, tout modérateur qu'il est.


Message édité par Seboss le 10-08-2004 à 14:27:15
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed