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

Requêtes MySQL Discussion :

Arborescence de catégories php/mysql


Sujet :

Requêtes MySQL

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 45
    Par défaut Arborescence de catégories php/mysql
    Bonjour, je souhaite créer une arborescence de catégorie :

    J'ai une table 'categorie' (cid, nom, pere)
    et je souhaite que l'arborescence soit présentée comme ceci:

    # Guitares
    --# Acoustiques
    ----# Classiques
    --# Electrique
    # Cuivres
    # Percussions
    # Sono - Mix
    # Home - Studio

    J'arrive bien à lister tous les pères, leurs frères mais je n'arrive pas à faire en sorte qu'un fils soit dessous du bon père :
    voilà ou je suis bloqué :

    # Guitares
    # Cuivres
    # Percussions
    # Sono - Mix
    # Home - Studio
    --# Acoustiques
    --# Electrique
    ----# Classiques

    voilà mon script ( $cid est une varible de GET qui indique la catégorie courante) :

    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
     
    $sql ='SELECT * FROM categorie WHERE cid="'.$cid.'"';
    $sql = mysql_query($sql) or die(show_mysql_error());
    $row = mysql_fetch_array($sql);
     
    while( $row['pere'] != null )
    {
    	$sql ='SELECT * FROM categorie WHERE cid="'.$row['pere'].'"';
    	$sql = mysql_query($sql) or die(show_mysql_error());
    	$row = mysql_fetch_array($sql);	
     
    	$arbre[] = array('cid' => $row['cid'], 'nom' => $row['nom'], 'pere' => $row['pere'] );
    }
     
    $arbre = array_reverse($arbre, TRUE);
     
    $n= 0;
    echo '<ul>';
    foreach(  $arbre as $key => $value)
    {		
    	$sql ='SELECT * FROM categorie WHERE pere="'.$arbre[$key]['pere'].'"';
    	$sql = mysql_query($sql) or die(show_mysql_error());		
    	while( $row = mysql_fetch_array($sql) )
    	{	
    		echo '<li style=" margin-left: '. 10*$n .'">'.$row['nom'].'</li>';
     
    	}
    	$n++;
    }
    echo '</ul>';
    Donc si une âme charitable pouvait me remettre dans le droit chemin je lui serais très reconnaisant. Merci

  2. #2
    Invité(e)
    Invité(e)
    Par défaut
    il te manquerai pas un order by dans ta requete ??

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 45
    Par défaut
    Je crois plutôt que c'est une histoire plus théorique, à mon avis je n'utilise pas la bonne technique en ce qui concerne les recherches de parents par boucles mais je ne voi pas comment faire.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 45
    Par défaut
    désolé : UP

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2006
    Messages : 45
    Par défaut
    J'ai lu ce cour : http://sqlpro.developpez.com/cours/arborescence/

    Mais je ne vois pas comment apliquer une représentation intervallaire puisque là mes feuilles sont soit des catégories dans la table 'catégories' soit des unités dans leur propore table.

Discussions similaires

  1. [MySQL] Optimisation de scripts PHP/MySQL
    Par DgG dans le forum PHP & Base de données
    Réponses: 368
    Dernier message: 20/11/2013, 18h59
  2. [MySQL] PHP/Mysql liste déroulante catégories
    Par RougeCerise dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 12/08/2008, 14h33
  3. Création arborescance PHP+Mysql
    Par R1D3M4N dans le forum Requêtes
    Réponses: 9
    Dernier message: 20/05/2008, 13h31
  4. [MySQL] [Script]Optimisation de scripts Php/MySQL (2)
    Par copy dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 27/08/2004, 08h33
  5. [php / mysql] pb if ( mysql_query() )
    Par dkmatt dans le forum Requêtes
    Réponses: 5
    Dernier message: 12/01/2004, 20h07

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