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 :

Mes Boucles imbriquées donnent des doublons [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Membre actif Avatar de elvan49
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 274
    Points : 204
    Points
    204
    Par défaut Mes Boucles imbriquées donnent des doublons
    Bonjour à tous,
    J'ai toujours eu un peu de mal à manipuler les tableaux associatifs et les boucles foreach. Là je m'en suis collé une overdose !
    L'objectif est de généré via html2pdf une liste de courses classée par magasin et dans chaque magasin par rayon (category).
    Je précise à toutes fins utiles que je n'ai pas la main sur la base de données et que les éléments retournés par la requête sont non modifiables. Je dois donc faire avec ce que j'ai. A savoir que mes produits me sont reetournés pour chaque magasin avec dans leurs attributs la category à laquelle ils appartiennent. Ils ne sont donc, au départ, triés que par magasin...
    Je veux donc les réorganiser pour se classer par category dans chaque magasin.
    Je joins un doc openoffice qui reprend le code de traitement des boucles et le résultat que j'affiche via un var_dump...
    Mon problème vient de mes boucles, mais je ne vois pas où
    Merci de vos éclairages (y compris s'il y a plus simple que mon usine à gaz)
    Fichiers attachés Fichiers attachés
    "n'imprimez ces messages que si nécessaire... Préservez notre planète"

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    est ce que tu peux poster une ou deux ligne de données brute avant tri telle que tu les reçois en provenance de la base.

  3. #3
    Membre actif Avatar de elvan49
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 274
    Points : 204
    Points
    204
    Par défaut
    Bien sûr, voici... sur la même solution le json_decode retourné.
    en pièce jointe
    Fichiers attachés Fichiers attachés
    "n'imprimez ces messages que si nécessaire... Préservez notre planète"

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Bon, j'ai regardé ton algo et il y a moyen de simplifier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $sorted_data = array();
     
    foreach($data['solutions'] as $solution) {
       foreach($solution['solution']['parcours'] as $details) {
          $magasin = $details['nom'];
          foreach($details['produits'] as $product) {
             $category = $product['category'];
             $sorted_data[$magasin][$category][] = $product;
          }
       }
    }
    J'ai fait un essai directement sur tes données et ça gaze (à priori).

  5. #5
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Après pour ton rendu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $magasins = array_keys($sorted_data); // liste des magasins
    $categories = array_keys($sorted_data['un magasin']); // liste des catégories pour un magasin

  6. #6
    Membre actif Avatar de elvan49
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 274
    Points : 204
    Points
    204
    Par défaut
    Impec ! Merci bien, je teste tout ça !
    "n'imprimez ces messages que si nécessaire... Préservez notre planète"

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 22/09/2014, 16h20
  2. Suppression des doublons par une boucle dans une macro
    Par axamen dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/02/2009, 09h37
  3. macros utilisant des boucles imbriquées et sql :
    Par nostress dans le forum Macro
    Réponses: 10
    Dernier message: 22/05/2008, 17h08
  4. problème de syntaxe dans des boucles imbriquées
    Par deglingo37 dans le forum Access
    Réponses: 2
    Dernier message: 01/09/2006, 14h46
  5. [Débutant]Boucle imbriquée avec des bornes différentes
    Par Hayato dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 29/08/2005, 16h23

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