IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Problème INSERT boucle for.


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 6
    Par défaut Problème INSERT boucle for.
    Bonjour à tous,

    J'ai un petit soucis sur mon appli, je pense qu'il s'agit d'un problème d'algorithme...

    Le but de mon code est de comparer 2 quantités (celles recues par le client et celle véritablement commandé) pour plusieurs produits.

    Un bout de mon formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <th WIDTH="34%" class="tableau" height="30"><input class="Special" type="text" name="qteco<?php echo $i ;?>" value="<?php echo $c01 ;?>" READONLY></td>
     
    <th WIDTH="34%" class="tableau" height="30"><input class="Bordereau" type="text" name="qte<?php echo $i ;?>">
     
    <input type="hidden" name="id" value="<?php echo $i ;?>">
    Un bout de ma page de traitement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    	for ($i = 0 ; $i < $_POST['id'] ; $i++)  
    	{
    		$difference = $_POST['qteco'.$i] - $_POST['qte'.$i] ;
    // calcul de la différence pour chaque produit.		
     
    		if ($difference > 0)
    		{	
                      // si il y a une différence pour un produit ou plusieurs, nous allons créer une seconde commande, le soucis, c'est que pour chaque produit ou il y a une différence il me crée une nouvelle commande...
                    }
                    else
                          {
                                  else réception complète...
                           }
    Quelqu'un voit il comment sortir de la boucle pour pouvoir créer une seule commande pour toutes les quantités de produits manquantes ?

    D'avance merci.

  2. #2
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Le plus simple à mon sens serait de revoir la manière de créer le formulaire, comme exploiter les tableaux, qui au bout facilite grandement la récupèration des données.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php
    // Exemple avec une boucle
    for ($i = 0; $i < 10; $i++) {
        echo '<input class="Special" type="text" name="quantite['.$i.'][qteco]" value="'.$c01.'" readonly="readonly" />';
     
        echo '<input class="Bordereau" type="text" name="quantite['.$i.'][qte]" />';
    }
    ?>
    Au bout, c'est un tableau (à plusieurs dimensions) qui sera obtenu au nom de "quantite".
    Une simple boucle foreach() permet de le parcourir, de même de faire la comparaison entre les 2 données.
    (il n'est plus utile d'indiquer le nombre dans un champ caché).

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php
    $les_quantite = $_POST['quantite'];
     
    foreach ($les_quantite as $quantite) {
        if ($quantite['qteco'] == $quantite['qte']) {
            // Les 2 valeurs sont identiques
        }
        else {
            // Les 2 valeurs sont différentes
        }
    }
    ?>
    Le HTML permet de structurer les données dans un formulaire.

  3. #3
    Expert confirmé
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Par défaut
    Gère ta commande comme une pile et pousse les éléments à commander dessus dans ta boucle.

Discussions similaires

  1. [ActionScript] Problème avec boucle 'FOR'
    Par BnA dans le forum Flash
    Réponses: 7
    Dernier message: 02/11/2006, 09h26
  2. [VBS][Débutant] Problème syntaxe boucle For
    Par _alex_ dans le forum VBScript
    Réponses: 2
    Dernier message: 26/07/2006, 14h26
  3. problème dans boucle for de lecture de fichier ini
    Par chourmo dans le forum Delphi
    Réponses: 3
    Dernier message: 06/07/2006, 09h31
  4. [batch]inventaire réseau-problème de boucle "for"
    Par mathieu_r dans le forum Windows
    Réponses: 1
    Dernier message: 23/06/2006, 20h17
  5. [Eval] Problème de boucle for sur des tableaux
    Par battle_benny dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/01/2006, 23h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo