tibine974
Messages postés43Date d'inscriptionjeudi 19 août 2004StatutMembreDernière intervention15 novembre 2009
-
2 nov. 2006 à 13:12
JulSoft
Messages postés354Date d'inscriptiondimanche 3 juin 2001StatutMembreDernière intervention11 mars 2013
-
21 nov. 2006 à 21:28
Bonjour à tous !!
Voilà mon probléme je dois construire une application qui doit permettre d'ajouter des catégories , sous-catégorie, sous-sous-catégorie ( un nombre illimité avec des profondeurs aussi illimités ) .
ex :
<li>Cat A</li><li>Sous-Cat A_0</li><li>Sous-Cat A_1</li><li>Sous-sous Cat A_1_0</li><li>Sous-sous-sous Cat A_1_0_0</li><li>Sous-sous-sous Cat A_1_0_0
</li><li>etc...</li><li>Cat B</li><li>Cat C</li>Mais voilà je bloque sur la maniére de créer ma base et mes requêtes.
J'ai pensé que vu que je ne savais pas combien de catégorie , ss-cat etc... je comptais mettre tous dans une même table : voir ci dessous :
Cat_parent : pour l'élément qui correspond à une Catégorie, le cat_parent est égale à 0 . Pour les sous-cat , il correspondra à l'id de l'élément dont il est le parent.
Voici ma question : est-ce que ce systéme vous semble correct , sinon voyez-vous une autre solution ??
Merci d'avance pour les réponses positives ou négatives, car j'avoue bloquer .
JulSoft
Messages postés354Date d'inscriptiondimanche 3 juin 2001StatutMembreDernière intervention11 mars 2013 2 nov. 2006 à 13:33
Je pense que c'est la seule façon que tu puisse utiliser. ça marche pas
trop mal (quand même pas mal de requetes pour tout récupérer et trier).
Après ce que tu peux faire pour éviter les requetes multiples est de
créer une classe catégorie qui comprenne un champ "sous_categories" qui
lui contien un nouvel élément catégorie. ça peut peut être t'éviter de
faire 300 requetes mysql, mais je ne suis sur de rien (pas testé).
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 2 nov. 2006 à 18:04
Hello,
je pense aussi que c'est la seule solution.
Mais j'éviterais les requêtes multiples pour trouver toutes les occurences liées à une catégorie. Je récupèrerais tout dans un tableau multidimensionnel, et ferais le tri en PHP (l'algo est simple, en php).
tibine974
Messages postés43Date d'inscriptionjeudi 19 août 2004StatutMembreDernière intervention15 novembre 2009 2 nov. 2006 à 20:30
Re !
Tout d'abord merci pour les réponses ! Comme tu l'as dit malalam moi aussi j'ai pensé récupérer dans un tableau multidimensionnel. Mais voilà , un autre probléme survient comment trier ce dit tableau , voici ce que cela donne aprés la requête :
Je sais ensuite qu'il faut passer en boucle le tableau, mais à l'intérieur de la boucle je ne vois pas comment faire pour que le array1 recherche dans les autres array la valeur souhaité .
foreach ( $stockage as $tab => items ):
endforeach;
Si vous avez un début de réponse ou me proposer une démarche je suis preneur . merci d'avance
Meuh ! Fais la vache
Vous n’avez pas trouvé la réponse que vous recherchez ?
prophete56
Messages postés1Date d'inscriptionvendredi 20 octobre 2006StatutMembreDernière intervention20 novembre 2006 20 nov. 2006 à 13:59
Salut
Je travaille sur un problème similaire mais je suis bloqué....
Je voudrais
- pouvoir deplacer par categories ou sous catégories
- pouvoir ajouter un controle sur la suppression des catégories (si il existe des sous categories )
JulSoft
Messages postés354Date d'inscriptiondimanche 3 juin 2001StatutMembreDernière intervention11 mars 2013 21 nov. 2006 à 21:28
pour ce qui est de déplacer une catégorie, il suffit de changer le parent de l'élément concerné (les enfants suivent leurs parents, que c'est beau la famille...), pour supprimer cherche d'abord la liste des enfants et des générations suivantes puis supprime le tout (comme ça t'as personne perdu en pleine base de donnée, et pas de façon logique de les retrouver)