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

JavaScript Discussion :

affichage tableau


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 114
    Par défaut affichage tableau
    Bonjour,

    j'affiche un un tableau multi-dimmension (par exemple : liste de pays, region, departement, ville ) en php ce qui me 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
     
    pays1
            region1
                      dep1
                      dep2
            region2
                      dep1
            region3
    pays2
            region1
                      dep1
                      dep2
                      dep3
            region2
                      dep1
            region3
                      dep1
                      dep2
    chaque ligne est entre balise <tr></tr>, et pour le decalage des <td> avec colspan.

    je voudrais pouvoir cliquer sur les pays, regions etc.. est étendre les sous tableaux.
    pouvez vous me donner des pistes pour demarrer et de quel façon procéder. est ce que je commence bien en affichant le tableau ligne à ligne : :

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 21
    Par défaut
    A mon avis il faut placer tes pays, régions, et départements dans des divs.

    Ensuite, en faisant un onClick dessus, tu affiches ou fais disparaître les différents éléments.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 114
    Par défaut
    voici le code que j'utilise pour afficher mon tableau
    (au depart j'ouvre un tableau avant d'appeler la fonction "affiche" ) :




    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
     
    function clevide($tab2,$col){
    	foreach($tab2 as $keyvide => $val){	
    		$large=80;	
    		//test si la cle est differente de vide
    		if($keyvide!=''){		
    			$col2=7-$col;
    			//affichage
    			echo "<tr>";
    			echo "<td colspan='".$col."' width='".(($col*$large)+10)."' class='TabBas'>&nbsp;</td>";			
    			echo "<td colspan='".$col2."' width='".(($col2*$large)+140)."' class='TabBas'>".$keyvide."&nbsp;".$val."</td>";
    			echo "</tr>";
    		}else{
    			if(is_array($val)){
    				clevide($val,$col+1);
    			}			
    		}
    	}	
    }
    //calcule le nombre d'abonné en fin d'arbre, est appelée à chaque changement de branche
    function calc_nb_abo($tab){
    	foreach($tab as $key => $value)
    	{	
    		if(is_array($value)){
    			$nb_abo=calc_nb_abo($value);
    		}else{
    			$nb_abo++;
    		}
    	} 
    	return $nb_abo;
    }
     
    //affichage tableau multi-dimension
    function affiche($tab,$col){ 
    	//parcours du tableau	
    	foreach($tab as $key => $value)
    	{ 				
    		$large=80;
    		$col2=7-$col;
    		//affichage du lien vers le niveau suivant si la cle n'est pas vide et que sa valeur est un tableau 
    		if($key!='' && is_array($value)){
    			$nb=calc_nb_abo($value);
    			echo "<tr>";
    			echo "<td colspan='".$col."' width='".(($col*$large)+10)."' class='TabBas'>&nbsp;</td>";			
    			echo "<td colspan='".$col2."' width='".(($col2*$large)+140)."' class='TabBas'>";
     
    			echo $key."&nbsp;(".$nb.")&nbsp;"; 					
    			echo "</td></tr>";
    		//sinon on affiche seulement la cle
    		}elseif($key!='' && !is_array($value)){
    			echo "<tr>";
    			echo "<td colspan='".$col."' width='".(($col*$large)+10)."' class='TabBas'>&nbsp;</td>";			
    			echo "<td colspan='".$col2."' width='".(($col2*$large)+140)."' class='TabBas'>";
    			echo $key; 
    			echo "&nbsp;".$value."</td>";
    			echo "</tr>";
    		}
    		//si la valeur de la cle est un tableau on test la cle courante
    		if(is_array($value)){
    			//si elle est vide appel de la fonction clevide qui affiche que le font du tableau sans les cles vides
    			if($key==''){				
    				clevide($value,$col+1);
    			//sinon on reboucle sur la fonction affiche pour descendre d'un niveau
    			}else{
                	affiche($value,$col+1);  
    			}		
            }
    	}
    }
    tout ceci me donne mon tableau de façon déplier.
    maintenant je recherche la façon de cacher les sous partie en cliquant sur un parent??

  4. #4
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut

    http://www.destroydrop.com/javascripts/tree/

    Il suffit de remplacer tous les icones par des images blanches (si tu ne veux pas des noeuds).

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

Discussions similaires

  1. affichage tableau associatif
    Par Dargos dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/07/2006, 15h21
  2. [MySQL] Problème affichage tableau PHP avec données SQL
    Par akalaan dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/04/2006, 14h34
  3. Affichage tableau
    Par lazzeroni dans le forum BIRT
    Réponses: 1
    Dernier message: 13/04/2006, 09h31
  4. [Tableaux] affichage tableau
    Par klimero dans le forum Langage
    Réponses: 4
    Dernier message: 12/01/2006, 15h47
  5. affichage tableau
    Par je®ome dans le forum C
    Réponses: 5
    Dernier message: 27/10/2005, 17h59

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