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

Langage PHP Discussion :

Boucle for imbriqué


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 4
    Par défaut Boucle for imbriqué
    Bonjour à tous,

    Mon problème semble assez simple mais je ne trouve pas comment m'y prendre.

    Sur un site marchand, j'ai des évenements qui contiennent des catégories (comme des fiches produits où on choisit la couleur du produit par exemple).

    La fiche produit contient donc un array avec ses catégories rattachées

    L'ajout au caddie se fait sous forme de session avec :

    - id(celui de la catégorie)
    - id_event(celui du produit généraliste)
    - quantite

    Quand l'internaute retourne sur la page des catégories, je veux afficher les quantité déjà mises en session par l'internaute.

    Je voulais donc faire une boucle du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    for ($i=0 ; $i < count($tab_cats) ; $i++){
      for ($i=0 ; $i < count($_SESSION['panier']) ; $i++){
         if ($_SESSION['panier'][$i]['id'] == $tab_cats[$i]['id'] ){
             /*... affiche un input pour la quantité avec value déjà rempli puisqu'ajouté au caddie précédement   */
     }
       else{
        /*...affiche moi un input pour la quantité avec le champ vide*/
       }
    }
    }
    A priori je fais une erreur quelque part

    Merci pour votre aide

  2. #2
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    surement ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if ($_SESSION['panier'][$i]['id'] == $tab_cats[$i]['id'] ){
    a priori tu donne l'index numerique avant l'index alpha , si tu a cree ton panier ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $_SESSION['panier']['id'] = array();
    $tab_cats['id'] = array();
    Alors il faudrait reecrire ta ligne comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if ($_SESSION['panier']['id'][$i] == $tab_cats['id'][$i] ){
    Si ce n'est pas le cas , tu peux prendre ma remarque comme a ne pas conciderer

    secondo en utilisant $i dans 2 boucles tu peux avoir des soucis , je te conseille d'utiliser par exemple $j pour la 2eme boucle !
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 4
    Par défaut
    Oui, ceci est peut etre à la solution.

    En fait, je n'ai pas de problème avec une seule catégorie ajoutée au panier mais à partir de 2.

    Je m'embrouille un peu pour aujourd'hui, je repose ma tête...

    J'ai renommé mes boucles car c'est vrai que c'est plus pratique en plus pour s'y retrouver.

    Merci

    Vinz

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 4
    Par défaut
    C'est bon, il fat que je teste de parout mais à priori ca le fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    for ($j=0 ; $j < count($_SESSION['panier']) ; $j++){
      if ($_SESSION['panier'][$j]['id'] == $tab_cats[$i]['id'] ){
       $_SESSION['panier'][$j]['quantite']));
    	}
    }
    Il me reste à générer des nombres de 1 à 10 dans un tableau(array) qui donneront :
    "1" => "1",
    "2" => "2",
    "3" => "3",
    "4" => "4" ....

    Le tout ne commencant pas par 0.

    Merci en tout cas pour ton aide

    Vinz

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Boucles for imbriquées
    Par The eye dans le forum ASP
    Réponses: 2
    Dernier message: 19/07/2007, 13h00
  2. Boucle for imbriqué
    Par boula dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 18/07/2007, 13h42
  3. 2 boucles for imbriquées
    Par karimphp dans le forum Langage
    Réponses: 8
    Dernier message: 02/12/2006, 15h46
  4. Batch - Deux boucle For imbriquées plus un FC
    Par Lorponos dans le forum Windows
    Réponses: 17
    Dernier message: 27/07/2006, 15h58
  5. [Syntaxe] Boucle For imbriquées en 1.5
    Par Piolet dans le forum Langage
    Réponses: 5
    Dernier message: 09/01/2005, 01h49

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