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 :

arbre de dépendance pour nomenclature des produits sous laravel


Sujet :

Langage PHP

  1. #1
    Membre averti
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2013
    Messages : 33
    Par défaut arbre de dépendance pour nomenclature des produits sous laravel
    Salut tout le monde,

    Je sollicite votre aide pour achever mon arbre de dépendance.

    Je sur les nomenclatures des produits donc un produit peut être composé de n autres produits. J’ai fait ma fonction de dépendance qui fonctionne, mais je veux afficher sous forme de menu comme dans l’exemple :

    Nom : Arbre.png
Affichages : 173
Taille : 1,6 Ko

    Je n’arrive pas a afficher les parties mentionner en rouge sur l’image ci-dessous :
    Nom : Arbre2.png
Affichages : 184
Taille : 2,7 Ko

    voici ma fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public function arbre($produit){
            foreach ($produit->LigneNomenclatures as $index=>$ligne){
                echo $ligne->produit->reference.'<br/><br/>';
     
                $this->arbre($ligne->produit);
            }
        }
    Appel de ma fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $Produit = Protuits::find(4);
            echo 'PARENT == '.$Produit->reference.'<br/><br/>';
     
            $this->arbre($Produit);
    Merci

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Bonjour, essayer ceci pour voir ce que cela donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
     
    function walkTree($tree, $depth = 0)
        {
            foreach ($tree as $key => $value) {
                yield ['depth' => $depth, 'name' => $key];
                if (is_array($value)) {
                    yield from walkTree($value, $depth + 1);
                }
            }
        }
     
     
        $Produit = Protuits::find(4);
            echo 'PARENT == '.$Produit->reference.'<br/><br/>';
     
             echo '<pre>' . PHP_EOL;
            foreach(walkTree($produit->LigneNomenclatures) as $node) {
     
                echo str_repeat('  ', $node['depth']) . '  ' .$node['name'] . PHP_EOL;
               }
            echo '</pre>' . PHP_EOL;

Discussions similaires

  1. Réponses: 0
    Dernier message: 06/11/2008, 00h27
  2. Réponses: 3
    Dernier message: 20/03/2008, 13h02
  3. Quel langage pour faire des boucles sous FTP ?
    Par Mourne dans le forum Langages de programmation
    Réponses: 1
    Dernier message: 04/07/2007, 17h33
  4. Idée pour sélectionner des produits et les ajouter
    Par Nulenprogra dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/02/2007, 12h34
  5. Script pour avoir des bulles sous-marine !!
    Par apnee.csm dans le forum Flash
    Réponses: 2
    Dernier message: 27/02/2006, 19h35

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