classe recursive, erreur de logique introuvable... :( [résolu ^^'] - PHP - Programmation
Marsh Posté le 14-05-2005 à 18:44:22
Heu non je suis un boulet !!!!!! Je viens de trouver, j'ai mis :
for($i=0; $i<count($this->fils)-1; $i++) {
a la place de
for($i=0; $i<count($this->fils); $i++) {
pour une raison obscure
Bon je vais me flageller.
merci quand meme
Marsh Posté le 14-05-2005 à 18:38:52
Salut tlm
Bon ca fait 2 heures que je cherche je trouve pas.
J'ai pas encore trop l'habitude des fonctions récursives, la je bloque. C'est surement une connerie mais bon.
Voici mon code :
Il s'agit d'une classe qui recherche les differents droits que peuvent avoir des utilisateurs pour mon application dans une table. Jusque la pas de prob. Mais on s'en fout un peu.
J'ai créé une fonction pour afficher le contenu des classes parents/filles etc...
et en fait ca m'affiche qu'un objet sur 2. Et d'apres mes test, c'est pas la fonction d'affichage qui merde, mais apparament il n'enregistre que 1 objet sur 2. Pour une raison que j'ai beau chercher je ne trouve pas.
Voila ce que ca donne en appelant AfficherArbre() comme ceci :
Ca donne ceci a l'écran :
Racine-->
gestion_membres-->
insert-->
list-->
abonnements-->
paiements-->
list-->
insert-->
list-->
delete-->
update-->
gestion_configuration-->
gestion_cours-->
types_abonnements-->
delete-->
insert-->
horaire-->
delete-->
update-->
list-->
Ca parrait bon mais ca ne l'est pas car il manque un objet sur 2. On devrait voir ceci :
Racine-->
gestion_membres-->
insert-->
list-->
abonnements-->
paiements-->
list-->
insert-->
delete-->
list-->
delete-->
insert-->
update-->
delete-->
gestion_configuration-->
gestion_cours-->
types_abonnements-->
delete-->
insert-->
update-->
horaire-->
delete-->
update-->
list-->
insert-->
gestion_stocks-->
achats-->
cancel_order-->
mark_as_received-->
mark_as_paid-->
order-->
fournisseurs-->
list-->
delete-->
update-->
insert-->
Ce qu'il y a c'est que ce qui est affiché ci-dessus (l'affichage correct) je parviens a l'obtenir, en décommentant la ligne n° 35 et en commentant la ligne 58 ! Ce qui est absolument absurde à mes yeux! J'ai beau chercher l'erreur. Je trouve pas
Aidez moi svp !!
Merci d'avance
Message édité par Gat$ le 14-05-2005 à 18:54:15