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 :

[Tableaux] Générer une arborescence


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    56
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 56
    Par défaut [Tableaux] Générer une arborescence
    Bonjour,

    J'aimerais générer une arborescence à partir de ma relation recursive.
    C'est facile lorsqu'il y a un nombre déterminé de rangs mais comment créer un arbre dont on ne connait ni la taille, ni le nombre de branches ?

    Je n'utilise pas la gestion d'arbres par représentation intervallaire parce que j'ai des articles qui apparaissent dans plusieurs branches.

    Armagnak

    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
    // Arborescence sur deux rangs
     
      while ($parentrow = mysql_fetch_array($parentresult))
      {
     
    $enfantresult = @ mysql_query ("SELECT nom FROM famille WHERE article_id = ANY (SELECT enfant_id FROM nomenclature WHERE nomenclature.parent_id = {$parentrow["article_id"]})", $connection);
     
         $template->setCurrentBlock("ARBRE");
         $template->setVariable("ARTICLE", $parentrow["nom"]);
         $template->parseCurrentBlock();
     
         while ($enfantrow = mysql_fetch_array($enfantresult))
         {
            $template->setCurrentBlock("ARBRE");
            $template->setVariable("ARTICLE", "<li>".$enfantrow["nom"]);
            $template->parseCurrentBlock();
         }
      }

  2. #2
    Membre éclairé
    Inscrit en
    Mars 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 53
    Par défaut Fonction recursive
    Salut Armagnak,

    La reponse a ton probleme est simple. Il te faut creer une fonction recursive .

    Je te donne l idee de la chose.
    ex :
    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
    23
     
    function maFoncRecur($param1,$param2,...){
     
    // Tu fais ta requete de selection 
    $sql = db_query("Select * from taTABLE where tes conditions ");
     
         while(....){
     
         // Tu reccup tes donnees 
         $template->setCurrentBlock("ARBRE");
         $template->setVariable("ARTICLE", $parentrow["nom"]);
         $template->parseCurrentBlock();
     
     
         // Tu fais une requete de test 
         $sql2 = db_query("Select * from taTABLE where tes prochaines conditions ");
     
                 // Si Reponse positive
                $this->maFoncRecur($param1,$param2,...);
     
         }
     
    }
    Remarque :
    Pour toi un conseil fait gaffe a sauvegarder dans un tableau ta variable $template avant de réappeler ta function .

    J espere avoir été clair . Bonne chance



    Sté

  3. #3
    Membre confirmé
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    56
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 56
    Par défaut
    OK j'ai pigé le concept.
    En plus, ça a l'air d'être un grand classique de la programmation.

    Merci

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/11/2018, 15h56
  2. Réponses: 4
    Dernier message: 30/06/2009, 13h12
  3. [Tableaux] Liste chaînée pour une arborescence
    Par Flo. dans le forum Langage
    Réponses: 4
    Dernier message: 28/11/2007, 22h05
  4. Générer une liste
    Par pfredin dans le forum Langage SQL
    Réponses: 6
    Dernier message: 02/04/2003, 16h30
  5. créer une arborescence windows sous forme d'arbre java
    Par chupachoc dans le forum Composants
    Réponses: 3
    Dernier message: 01/10/2002, 17h48

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