|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre confirmé
![]() ![]() Inscription : mars 2003 Messages : 1 043 ![]() |
Bonjour à tous,
Soit deux tables, pour une FAQ avec catégories : - La table cat_faq - classique : Citation:
La table Q/R : Citation:
J'arrive bien à afficher l'arbre des cat / sous cat avec une fonction récursive, pas de problème. Mais ce que je voudrais c'est pouvoir "fouiller" la descendance d'une cat donnée pour vérifier qu'aucune sous-cat ne contient de Q/R, et dans ce cas, pouvoir supprimer son arbre complet. Mais je ne trouve pas le type la requête qui va bien... Auriez-vous une piste ? Merci d'avance. |
||
|
|
00
|
|
|
#2 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
|
|
|
00
|
|
|
#3 |
|
Membre confirmé
![]() ![]() Inscription : mars 2003 Messages : 1 043 ![]() |
Bonjour, et merci, mais oui, je connais et j'utilise l'arborescence intervallaire. Mais ici dans ce cas ce n'est pas possible car je veux donner le moyen à l'utilisateur de la FAQ de ranger les cats dans l'ordre qu'il souhaite...et déplacer un arbre entier en intervallaire...bonjour !
Donc là je reste sur du classique récursif |
|
|
00
|
|
|
#4 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Je ne comprends pas ... comment est défini ton ordre actuellement ?
|
|
|
00
|
|
|
#5 |
|
Membre confirmé
![]() ![]() Inscription : mars 2003 Messages : 1 043 ![]() |
Ben, j'ai ajouté une colonne "ordre" à la table des cats et quand j'affiche, je fais "ORDER BY ordre".
|
|
|
00
|
|
|
#6 | ||||
|
Membre confirmé
![]() ![]() Inscription : mars 2003 Messages : 1 043 ![]() |
Par rapport à ma question, voici ma fonction récursive pour lire les catégories :
Code :
Code :
|
||||
|
|
00
|
|
|
#7 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Et tu ne pourrais pas avoir la même chose avec une structure intervallaire ?
De toute façon, traiter des requêtes récursivement en PHP c'est indigeste pour la base de données. Je ne pense pas qu'on puisse le traiter en SQL pur mais tu peux toujours demander aux spécialistes de SQL. Remarque selon ta base de données, tu peux peut etre avoir une suppression en cascade d'une table sur elle même. |
|
|
00
|
|
|
#8 |
|
Membre confirmé
![]() ![]() Inscription : mars 2003 Messages : 1 043 ![]() |
J'étais parti sur de l'intervallaire...mais comme je l'ai dit, modifier l'ordre d'affichage des catégories d'un même niveau (ou des sous cat au sein d'une catégorie) est quasi impossible. J'ai lu l'article de F.Brouard dans tous les sens, notamment : http://blog.developpez.com/sqlpro/p7...dure-de-depla/
C'est au-dessus de mes moyens intellectuels. ![]() Je suis bien conscient que le récursif est dangereux pour le serveur, mais dans ce cas précis, la FAQ ne comptera pas un arbre gigantesque donc ça devrait passer. |
|
|
00
|
|
|
#9 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Dans ton cas il ne s'agit pas de déplacer l'arbre mais juste de modifier la valeur de son champ "ordre".
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com