Transmettre des variables issues d'une bdd par formulaire

Jeannot
Invité n'ayant pas de compte PHPfrance

30 juil. 2007, 22:36

Bonsoir à tous,

Mon problème est le suivant ; j'utilise une fonction php (foreach) qui liste les produits présents dans une table, ces produits ayant comme caractéristiques ('qty','title','price').
Et j'aimerais transmettre les variables obtenues après le listage par formulaire avec POST.
Voici la fonction :

Code : Tout sélectionner

<?php $Cart = new Cart(session_id()); $items = $Cart->Display(); $total = 0; if (count($items) > 0) { foreach ($items as $key => $val) { echo '[' . $val['qty'] . '] <strong>' . $val['title'] . '</strong> &nbsp;&nbsp;|&nbsp;&nbsp; ' . $val['price'] . ' &euro;<br />'; $total += $val['price'] * $val['qty']; } } ?>
Quelqu'un pourrait il éclairer ma lanterne ? J'ai beau essayer rien n'y fait :cry:

Par avance merci beaucoup pour votre aide.

d0m
Mammouth du PHP | 1141 Messages

31 juil. 2007, 08:03

Tu pourrais utiliser la balise
<INPUT TYPE="HIDDEN">
qui permet de passer des élements par POST ou GET à une autre page sans pour autant les afficher.

Jeannot
Invité n'ayant pas de compte PHPfrance

31 juil. 2007, 11:06

Pour commencer merci beaucoup pour ta réponse.
Il me semblait bien qu'il y avait un truc avec les input hidden mais je doit buger au niveau de la syntaxe.
Aurais tu la gentillesse de m'écrire la ligne concernée (en reprenant le code que j'ai posté) ? :oops:
Te remerciant pour ton aide...

d0m
Mammouth du PHP | 1141 Messages

31 juil. 2007, 11:19

foreach ($items as $key => $val) 
  { 
    echo '<INPUT TYPE="hidden" NAME="title['.$key.']" VALUE="'.$val['title'].'">';
    echo '<INPUT TYPE="hidden" NAME="qty['.$key.']" VALUE="'.$val['qty'].'">';
    echo '<INPUT TYPE="hidden" NAME="price['.$key.']" VALUE="'.$val['price'].'">';

    $total += $val['price'] * $val['qty']; 
  } 

Jeannot
Invité n'ayant pas de compte PHPfrance

31 juil. 2007, 18:27

Impeccable..
Merci beaucoup ! :)

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

31 juil. 2007, 18:33

Modération :
Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

Tu peux réaliser cette opération toi-même
en cliquant sur le bouton Image qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Jeannot
Invité n'ayant pas de compte PHPfrance

31 juil. 2007, 21:17

Ok ! j'enregistre pour la prochaine fois, cependant mon problème n'est pas entièrement résolu, je viens de me rendre compte que la solution postée par d0m n'est pas totallement opérationnelle :? dois je réouvrir un sujet ??

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

31 juil. 2007, 21:30

dois je réouvrir un sujet ??
Non, on va enlever le [Résolu] pour continuer sur celui-ci (mais inscris toi !! :wink: )

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Petit nouveau ! | 1 Messages

31 juil. 2007, 21:34

C'est fait ! je suis inscrit :) Concernant mon problème je pense être entrain de le résoudre. Pardon de faire ainsi la girouette, j'avais oublié de refléchir :lol: Encore merci pour votre aide ! Vous êtes des chefs :wink: