Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1375 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3
Page Suivante
Auteur Sujet :

Récupérer des imbrications multiples dans une table MySQL

n°1307354
rufo
Pas me confondre avec Lycos!
Posté le 16-02-2006 à 17:21:53  profilanswer
 

Reprise du message précédent :
Perso, pour un outil de revue en ligne, je devais permettre la création d'un sommaire (une arbo en somme). La table était la suivante :  
ID, Libellé, N° d'ordre, ParentID
 
Le n°ordre permettait la création des rubriques du sommaire dans un ordre différent de celui de l'affichage. Sinon, pour la génération de l'arbo, ben comme proposé, un tableau php qui contient la table entière puis un autre tableau qui contient l'arbo et qui se construit de manière récursive en parcourant le premier tableau :)

mood
Publicité
Posté le 16-02-2006 à 17:21:53  profilanswer
 

n°1307396
Sh@rdar
Ex-PhPéteur
Posté le 16-02-2006 à 18:16:10  profilanswer
 

tout pareil mais avec un système de niveau, qui correspond à la première clef de mon tableau (comme ça je récupère facilement tous les niveaux inférieurs ou supérieurs, et je peux proposer un filtrage avec toutes les rubriques de niveau X)
 
le fichier généré fait dans les 50Ko et c'est super rapide à utiliser :)


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°1307480
Dj YeLL
$question = $to_be || !$to_be;
Posté le 16-02-2006 à 21:17:46  profilanswer
 

Sh@rdar> Je n'ai pas compris le coup de "avec un système de niveau, qui correspond à la première clef de mon tableau"
 
Tu pourrais me donner plus de détails ? :)
 
Merci


---------------
Gamertag: CoteBlack YeLL
n°1307530
Sh@rdar
Ex-PhPéteur
Posté le 16-02-2006 à 22:43:16  profilanswer
 

dans la base j'ai un champ Lvl est un bête entier
 
au niveau 0 on a les rubriques de base, 1 les sous rubriques etc etc (c'est uniquement pour simplifier après la génération du tableau)
 
le tableau est généré comme ça :
 
$Rub[0]['Nom'][1324] = 'Ma rubrique de base';
// les rubriques de niveau 0 n'ont pas de parent
 
$Rub[1]['Pere'][1324564] = 1324;
$Rub[1]['Nom'][1324564] = 'la sous rubrique';
 
etc etc
 
donc en manipulant $Rub je peux choisir mon lvl
 
et pour une rubrique de niveau X je fais une itération assez simple pour remonter jusqu'à la base et faire obtenir une imbrication comme ça
 
$Rub[0]['Nom'] [
  $Rub[1]['Pere'] [
    $Rub[2]['Pere'] [$Id de la catégorie en cours]
  ]
]
 
voilà , ça marche avec autant de niveaux et de rubriques qu'on veut, la seule limite étant bien sur la taille du fichier à parser et à coller en mémoire  
 
alors c'est pas ce qu'il y a de plus optimisé, mais ça fonctionne, et on peut tout faire ou presque :)
       
 
 


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°1307589
Djebel1
Nul professionnel
Posté le 17-02-2006 à 05:13:37  profilanswer
 

bah c'est la solution classique ou on stocke l'idée du parent quoi. Que ça soit à partir d'une table ou à partir de la base, ça change pas grand chose

n°1307603
Sh@rdar
Ex-PhPéteur
Posté le 17-02-2006 à 08:17:49  profilanswer
 

vi, mais dans mon cas j'ai besoin du niveau, justement pour proposer des filtres :)


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
n°1307618
Dj YeLL
$question = $to_be || !$to_be;
Posté le 17-02-2006 à 09:10:00  profilanswer
 

Merci beaucoup, je garde tout ça sous la main pour quand je m'y remettrai
 
A+


---------------
Gamertag: CoteBlack YeLL
n°1307742
rufo
Pas me confondre avec Lycos!
Posté le 17-02-2006 à 11:07:38  profilanswer
 

Le champ "Niveau" peut effectivement être rajouté dans la table si on a besoin de filtrer dessus. Dans le cas contraire, ce n'est pas la peine puisqu'il est calculable...

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
Problème pour récupérer donnée en php[Mysql] 1 Grosse requete OU plusieurs petite ?
[PHP/MYSQL] affichage d'une table sur une pageRecuperer valeur d'une liste deroulante en javascript
Lien entre Mirc et MysqlProbleme ALTER TABLE
Changement hebergeur et base Mysql[SQL] Requête pour obtenir les valeurs présentes dans 1 seule table
Récuperer valeur input 
Plus de sujets relatifs à : Récupérer des imbrications multiples dans une table MySQL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR