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 :

Représentation d'un arbre (ex : généalogique)


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 9
    Points : 9
    Points
    9
    Par défaut Représentation d'un arbre (ex : généalogique)
    Bonjour,

    J'ai besoin de représenter sur une page web une arborescence type généalogique (sauf que là ce sont des paragraphes de sortie de "livre dont vous êtes le héros" [les forumeurs les vieux reconnaitrons]).
    Mon script me permet bien d'afficher pour chaque rang le numéro du paragraphe et pour le rang d'en dessous les paragraphes de sortie mais c'est au niveau de la représentation graphique que je bloque...

    En effet comment représenter les flèches qui pointent vers les paragraphes des rangs en dessous?

    un extrait du code :
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
    $tabPasse= array ();
    $tabPresent= array ();
    $tabFutur= array ();
    $IDPage=1;
    $n=0;
     
    array_unshift($tabFutur, $IDPage);
     
    echo "<table border=1>";
    echo "<tr>";
    for ($i=1;$i<=36;$i++){
    echo "<th width=\"50\">P$i</th>";
    }
    echo "</tr>";
     
    while (count($tabFutur)<>0) {
     
    	$n++;
    	echo "<tr><td width=\"100\">Rang : $n</td>";
    	foreach ($tabFutur as $IDPage) { 
    	$IDPage = array_shift($tabFutur);
    	array_push($tabPresent, $IDPage);
    	}
    	$p = count($tabPresent);
    	for ($i=1;$i<=(18-($p+1));$i++){
    	echo "<td width=\"50\">&nbsp</td>";
    	}
     
    	foreach ($tabPresent as $IDPage) {
    	$IDPage = array_shift($tabPresent); 	
    	$trouver=false;
     
    		foreach ($tabPasse as $IDPagePasse) {
    			if ($IDPagePasse==$IDPage) {
    			$trouver=true;
    			}
    		}
    		if ($trouver==false) {
    		//IDPage n'a jamais été traité
    		$colspan=0;
    		    $requete=mysql_db_query($sql_bdd,"select * from bookdem where IDPage=\"$IDPage\"",$db_link) or die(mysql_error());
    			$Sortie1=mysql_result($requete,0,"Sortie1");
    				if ($Sortie1<>0) {array_push($tabFutur, $Sortie1);$colspan++;}
    			$Sortie2=mysql_result($requete,0,"Sortie2");
    				if ($Sortie2<>0) {array_push($tabFutur, $Sortie2);$colspan++;}
    			$Sortie3=mysql_result($requete,0,"Sortie3");
    				if ($Sortie3<>0) {array_push($tabFutur, $Sortie3);$colspan++;}
    			$Sortie4=mysql_result($requete,0,"Sortie4");
    				if ($Sortie4<>0) {array_push($tabFutur, $Sortie4);$colspan++;}
    			$Sortie5=mysql_result($requete,0,"Sortie5");
    				if ($Sortie5<>0) {array_push($tabFutur, $Sortie5);$colspan++;}
    			$Sortie5=mysql_result($requete,0,"Sortie6");
    				if ($Sortie6<>0) {array_push($tabFutur, $Sortie6);$colspan++;}
    			$IDSpecial=mysql_result($requete,0,"IDSpecial");
     
    			echo "<td width=\"50\" colspan=\"$colspan\">$IDPage";
     
    			}
     
    		echo "</td>";
    		} Else {
    		//IDPage a déjà été traité
    		echo "<td width=\"50\"><font color=\"red\">* $IDPage</font></td>";
    		}
     
    	array_unshift($tabPasse, $IDPage);
    	}
    	echo "</tr>";
     
    }
    echo "</table>";
    la page chez moi : Vue Arborescente

    un extrait de la base de donnée :
    Page 1 => Sortie 56
    Page 56 => Sortie 24 ou 42
    Page 24 => Sortie 64
    Page 42 => Sortie 17 ou 31
    Page 64 => Sortie 79 ou 6
    Page 17 => Sortie 64
    Page 31 => Sortie 12

    Merci d'avance

  2. #2
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Points : 1 769
    Points
    1 769
    Par défaut
    J'ai commencé à écrire un super gros paragraphe... et j'ai utilisé la touche backspace jusqu'au début...

    Faire ce genre d'arbre demande une grosse analyse en fait :s

    Fais donc au papier ton arbre...

    Essaies de voir les "règles", formules qui s'en dégagent...

    ___

    J'avais pour idée d'insérer des images type "flèche SudOuest", "flèche Sud", "flèche SudEst"...

    Selon le nombre de paragraphes fils que tu avais tu affichais les flèches et mettais les fils dans les cellules correspondantes...

    mais je me suis perdu au cour de ma réflexion


    ___
    edit : [les forumeurs les vieux reconnaitrons]
    Pas vieille à 20 ans >_>

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 9
    Points : 9
    Points
    9
    Par défaut Re
    Ben j'ai essayé avec des images de flèche mais c'est une horreur car certain paragraphe n'ont pas de suite (ceux en rouge soit car le héros meurt, soit car le paragraphe est déjà traité [cf boucle infini]).

    Je me demandais si il n'y avait pas moyen de l'afficher (l'arbre) via un script en flash où les flèches seraient dynamique...

    Note : si tu lis des LDVH, si vous avez l'esprit d'écrivain voici un lien vers un forum d'amateur Forum RDV au 1

Discussions similaires

  1. [MPD] Représenter une hiérarchie (arbre) en base
    Par laffreuxthomas dans le forum Schéma
    Réponses: 29
    Dernier message: 05/11/2012, 15h48
  2. [POO] Représentation d'un arbre
    Par alband85 dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 02/10/2009, 17h04
  3. représentation d'un arbre de structure
    Par SandyF dans le forum Windows Forms
    Réponses: 7
    Dernier message: 23/09/2009, 14h55
  4. XML : Représentation d'un arbre généalogique simple
    Par cyril77 dans le forum Valider
    Réponses: 3
    Dernier message: 02/04/2009, 12h15
  5. Representation graphique d'un arbre type généalogique
    Par Apo94 dans le forum Algorithmes et structures de données
    Réponses: 13
    Dernier message: 02/04/2008, 10h22

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