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

  FORUM HardWare.fr
  Programmation
  PHP

  Créer arborescence depuis BDD

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Créer arborescence depuis BDD

n°2182754
snp
quand on sait pas, on se tait
Posté le 27-03-2013 à 15:06:32  profilanswer
 

Bonjour tout le monde,
je sèche depuis longtemps depuis un problème qui m'empêche d'avancer !
je bricole dans tous les sens mais n'y parviens pas, c'est pourquoi je sollicite votre aide.
 
Je suis sur un site e-commerce. La BDD est bien évidemment en mysql. Les tables sont alimentées chaque jour par un fichier CSV qui est uploadée sur le site par une application tierce.
Ce fichier CSV est conçu comme ça :
CB | CI | Designation | Refart | Activite | Famille | SousFamille | PVTTC | T3ETTC | QteStock | PrixTransportTTC
 
Ma table "articles" contient en entête les memes champs que le CSV.
Jusque là tout va bien.
 
Mon problème est le suivant :
le client me demande de lui construire un menu dynamique sur 3 niveaux par exemple :
BLANC
------RIDEAUX
------LINGE
-----------HOUSSE
-----------COUETTE
-----------DRAPS
------ACCESSOIRES
CUISINE
------LIVRES
------USTENSILES
-----------MOULES
-----------PLATS
-----------COUVERTS
etc
 
et j'ai beau me creuser la tête, me servir des différents tutos trouvés, je n'y parviens pas.
J'ai essayé ça : http://mayeul.com/php-construire-u [...] recursive/ mais il faut créer une table spécifique à partir de ma table "articles". Et là non plus je vois pas comment extraire de cette table "articles" les données et leur attribuer une "parentalité".
Quelqu'un pourrait me filer un coup de main ? une source ?
 
ça devient très chaud et extrèmement urgent cet histoire !
 
Merci d'avance ! :hello:

mood
Publicité
Posté le 27-03-2013 à 15:06:32  profilanswer
 

n°2182788
x1fr
Posté le 27-03-2013 à 16:58:30  profilanswer
 

J'imagine que les 3 niveaux correspondent aux champs Activite, Famille et Sousfamille?

 

Si oui, il faut faire par exemple :

 
Code :
  1. Select distinct activite, famille, sousfamille
  2. from nom_table
  3. order by activite, famille, sousfamille
 

De cette manière tu récupère la liste des menus à créer.
Ca sera de la forme :

 

BLANC   RIDEAUX  -
BLANC   LINGE  HOUSSE
BLANC   LINGE  COUETTE
BLANC   LINGE  DRAPS
BLANC   ACCESSOIRES  -
CUISINE LIVRES  -
CUISINE USTENSILES  MOULES
CUISINE USTENSILES  PLATS
CUISINE USTENSILES  COUVERTS

 

Ensuite il faut faire une fonction qui va générer le menu en fonction des champs.

 

L'idée c'est de lire la colonne activite. Si elle est différente  de l'activité en cours, tu créé un nouveau menu de niveau 0, 1 (et 2 si renseigné), sinon tu compares la colonne famille. Si elle est différence de la famille précédente, tu créé un nouveau menu de niveau 1 et 2, sinon tu créé juste un nouveau menu de niveau 2.

 

Ça doit pas être bien clair, mais c'est pas évident à expliquer comme ça.

 

Une fois que tu aura les données ce sera surement plus simple à visualiser.


Message édité par x1fr le 27-03-2013 à 17:01:09

---------------
Origin / PSN / Steam / Uplay : x1fr - bnet : Fab#2717
n°2182801
snp
quand on sait pas, on se tait
Posté le 27-03-2013 à 17:34:21  profilanswer
 

merci à toi, je connaissais pas ce select "DISTINCT" ! je passais derrière par un array_unique en PHP qui me galérais aussi un peu (fallais le sortir des foreach).
maintenant il me reste a me pencher sur le menu en lui-meme.
tu n'aurais pas un bout de code par hasard ?

n°2182886
snp
quand on sait pas, on se tait
Posté le 28-03-2013 à 00:42:21  profilanswer
 

j'arrive à rien....un petit coup de main SVP ?

n°2182905
x1fr
Posté le 28-03-2013 à 10:01:02  profilanswer
 

un exemple vite fait :

 

http://phpfiddle.org/main/code/86f-vp4

 

à peaufiner
(cliquer sur "run" pour voir le résultat)

Message cité 1 fois
Message édité par x1fr le 28-03-2013 à 10:01:36

---------------
Origin / PSN / Steam / Uplay : x1fr - bnet : Fab#2717
n°2183191
snp
quand on sait pas, on se tait
Posté le 29-03-2013 à 16:04:37  profilanswer
 

x1fr a écrit :

un exemple vite fait :
 
http://phpfiddle.org/main/code/86f-vp4
 
à peaufiner
(cliquer sur "run" pour voir le résultat)


 
super GRAND MERCI !!
histoire de bien abuser de toi  :ange: aurais-tu une solution pour mettre tout ça dans un menu déroulant  select au lieu d'une liste ul ?

n°2183257
x1fr
Posté le 29-03-2013 à 23:23:58  profilanswer
 

ca se fait en css (à base de liste dans le code html justement)
 
exemple :
http://line25.com/tutorials/how-to [...] pdown-menu


---------------
Origin / PSN / Steam / Uplay : x1fr - bnet : Fab#2717

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Créer arborescence depuis BDD

 

Sujets relatifs
[Résolu] Enregistrer le contenu d'un XML dans BDD MysqlCopier fichiers .pst dans une arborescence
EXCEL 2007-VBA- Créer une zone de dessin et mise à l'échelle de formesComment créer un dossier avec des espaces en Java sous Linux ?
Créer une arborescence de fichiercréer un automatisme dans excel
[RESOLU] [VBA] Créer un onglet pour chaque ligne répondant à 1 critèreComment créer une page web qui affiche tout les images d'un fichier ?
Une infobulle dynamique qui va chercher infos dans BDD ? 
Plus de sujets relatifs à : Créer arborescence depuis BDD


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