J'ai un arbre simple qui prend la forme ci-dessousrécursivement traverser simple arbre en PHP
ROOT
/\
A B
/ \
A1 B1
\
B11
Ceci est stocké dans une CLASSES de table DB qui est auto référencement.
ID | CLASS_ID | PARENT_ID
---------------------------
1 | ROOT |
2 | A | ROOT
3 | A1 | A
4 | B | ROOT
5 | B1 | B
6 | B11 | B1
---------------------------
et ainsi de suite, cela est juste un exemple, le class_id et les colonnes PARENT_ID sont des nombres entiers, mais je les ai juste fait Chars pour cet exemple si vous obtenez l'idée.
Je puis un deuxième enfant de table que je veux ressembler à ceci à la fin,
ID | CLASS_ID | CHILD_CLASS_ID
--------------------------------
1 | ROOT | A
2 | ROOT | A1
3 | ROOT | B
4 | ROOT | B1
5 | ROOT | B11
6 | A | A1
7 | B | B1
8 | B | B11
9 | B1 | B11
---------------------------
Donc, essentiellement, si une classe est inférieure à une classe dans sa branche, il est un enfant de toutes les classes supérieures . Je sais que c'est vraiment un problème de récursivité, mais je suis nouveau à PHP pourrait vraiment utiliser de l'aide. Je cours mysql. Je devrais également mentionner que je vais traverser en arrière. Donc j'insère des cours en bas. Un exemple serait la prochaine classe à insérer serait A11, je aurais alors besoin de parcourir jusqu'à trouver toutes les classes supérieures et les rendre les classes parentes de A11.
La question est comment itérer un resultset multidimensionnel ou comment obtenir le resultset en premier lieu? – Gordon
Eh bien, je voudrais être en mesure d'obtenir le jeu de résultats, mais si je peux itérer au point où j'arrive à chaque parent ID puis je peux faire un insert sur la table des enfants. Alors soit travaillerait pour moi. – medium
Cela ressemble à une tâche de devoirs. * tsk * – Sherri