Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1054 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  integration d'un formulaire dans un boucle

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

integration d'un formulaire dans un boucle

n°1445531
SeigneurMa​rtin
C'est quand on serre une femme
Posté le 20-09-2006 à 23:24:34  profilanswer
 

Bonjour à tous !
 
J'ai un problème que je n'arrive pas à résoudre avec un script.
 
Tout d'abord, mon script sert à afficher un système de marché ou les utilisateur peuvent vendre ou acheter des marchandises (ici du pain).
Pour ce faire, j'ai utilisé une boucle while pour ressortir toutes les entrées des utilisateurs qui ont été préalablement envoyées dans la base de donnée via un formulaire de vente.
Seulement, pour que l'utilisateur puisse acheter, j'ai integré un formulaire avec son traitement dans la boucle en croyant que de ce fait en cliquant sur le bouton "acheter" cela s'occuperait de la denrée affichée. Ce n'est pas faux !  
Cependant, lorsqu'on a plusieurs fois la denrée affichée avec un prix et un nombre différent, lorsque l'on clique sur le bouton "acheter", le formulaire traite toute les mises en vente de cette denrée.
 
Voici un petit screen pour que vous y voyez plus clair !
http://www.ekrutz.com/imgs/s/seigneurmartin/th-tabl.jpg
Vous pouvez constater qu'il y a des miches de pain mises en vente par 4 utilisateurs différents. Le problème est lorsque je veux acheter par exemple la miche de pain à 50 pièces, le formulaire traite l'achat des 3 miches à 4 et 5 pièces également !!
 
Bref, voici une partie du code avec en rouge le passage problèmatique :
 
$rq = "SELECT pain, painn, painp FROM marche WHERE village='$village'";
$result = @mysql_query ($rq);
 
 
while ($pain = mysql_fetch_array ($result))
{
 if ($pain[0] !== "0" )
 {
 
 echo "<tr>";
 echo "<td width='33%' height='12'><p align='center'>Miches de pain</td>";
 echo "<td width='33%' height='12'><p align='center'>$pain[0]</td>";
 echo "<td width='33%' height='12'><p align='center'>$pain[2] pièces</td>";
        echo "<td width='34%' height='12' valign='middle'>";
 
        echo "<form method='POST' action='marche_comtal.php'>";
        echo "<p align='center'><select size='1' name='nombre' />";
 
 for ($i = 1; $i <= $pain[0]; $i++)
 {
         echo "<option value='$i'>$i</option>";
        }
 
        echo "</select><input type='submit' value='Acheter' name='
submit_pain' />";
        echo "</form>";
        echo "</td>";
        echo "</tr>";
 
 
if (isset($_POST['submit_pain']))
 {
  // traiter l'achat
 
etc...

 
 
Merci d'avance à ceux qui essayeront de m'aider.
 
@++


Message édité par SeigneurMartin le 20-09-2006 à 23:26:30
mood
Publicité
Posté le 20-09-2006 à 23:24:34  profilanswer
 

n°1445532
dwogsi
Défaillance cérébrale...
Posté le 20-09-2006 à 23:29:50  profilanswer
 

Ba au lieu de répéter une seule ligne du contenu du formulaire, tu répéte un formulaire complet.
Sinon c'est checkbox et bouton de validation global.

n°1445549
SeigneurMa​rtin
C'est quand on serre une femme
Posté le 21-09-2006 à 01:06:36  profilanswer
 

Merci de ta réponse, je n'y avais pas pensé !
 
J'ai cependant un deuxième problème !
J'ai donc appliqué tes conseil mais j'ai une variable récalcitrante !
Voici mon code avec en rouge la variable que le script me dit ne pas etre définie...
 
 
if (isset($_POST['submit']))
{
 // Regarde les achats effectués
 $legume = echappement($_POST['legume']);
 $poisson = echappement($_POST['poisson']);
 $pain = echappement($_POST['pain']);
 $viande = echappement($_POST['viande']);
 $fruit = echappement($_POST['fruit']);
 
 if ($legume !== "" )
 {
  // On traite l'achat de légumes
  // Regarde si le gars n'est pas en déficit
  $rq = "SELECT banque FROM membre WHERE nom='$nom'";
  $result = @mysql_query ($rq);
  $argent2 = mysql_fetch_array ($result);
  $argent2 = echappement($argent2[0]);
 
  if ($argent2 > "0" )
  {
   $nombre = echappement($_POST['nombre_legume']);
 
   $rq = "SELECT legume, legumep FROM marche WHERE village='$village' AND nom='$legume'";
   $result = @mysql_query ($rq);
   $leg = mysql_fetch_array ($result)
   
   $nb2 = $leg[0] - $nombre;
   $nb2 = echappement($nb2);
 
etc...
 
Je ne comprend pas, pourtant cette variable est clairement définie !! En tout cas, l'erreur est sur cette ligne, peut être s'agit-il de $nombre ?
Qu'en pensez-vous ?


Message édité par SeigneurMartin le 21-09-2006 à 01:07:14
n°1445551
leflos5
On est ou on est pas :)
Posté le 21-09-2006 à 01:37:41  profilanswer
 

L'est passé où mon message :??:
 
Il te manque un ; après mysql_fetch_array ;)
 
C'est souvent sur la ligne du dessus quand il manque un ; que le parseur râle :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  integration d'un formulaire dans un boucle

 

Sujets relatifs
[VB] Intégration chaîne de caractère dans tableau[Struts] Formulaire pas rempli ?!
[Résolu][Qt] QProcess lancés en boucle - started() et finished()envoyer un formulaire javascript
envoi resultat formulaire avec mail()Probleme de boucle en perl
Javascript pour un formulaireRecharger un formulaire
[Resolu] Formulaire dynamique avec checkboxsComment générer un lien créé selon la saisie d'un formulaire
Plus de sujets relatifs à : integration d'un formulaire dans un boucle


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR