Problème algo récursif

Résolu
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 - 25 sept. 2006 à 13:51
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 - 3 oct. 2006 à 11:28
Bonjour,

Je viens demander un petit peu d'aide parce que plus je réfléchis et plus je m'enfonce

J'ai une table groupeRepere et une table repere.
La table repere contient la liste des repères (produits) d'une facture, et contient des informations comme lea désignation, le prix, la quantité commandée et l'identifiant d'un groupe de la table groupeRepere (il se peut qu'un repère n'ait pas de groupe).
La tale groupeRepere contient le nom du groupe et l'identifiant du groupe auquel il peut appartenir (puisqu'on peut avoir des sous-groupes).

Maintenant, il faut qu'à partir des repères de la facture, je reconstitue le listing des repères avec leur sous-groupes et groupes, par exemple :
Groupe 1
    Sous-Groupe 1
       Repère 1
       Repère 2
Repère 3
Groupe 2
    ......

Je me suis dis que j'allais faire un tableau pour représenter cette liste, ce qui donnerait peut-être quelque chose du genre :
    tab[groupe1][sous-groupe1][repere1] = array(quantité,prix)
    tab[repere3] = array(quantité,prix)
Mais je n'y arrive pas, tous les algo que j'essaye de faire, ne marchent jamais entièrement (il y a toujours quelque chose qui cloche) et je crois que je tourne un peu en rond. Peut-être que mon idée (de tableau) n'était pas bonne.

Voilà, j'espère avoir été assez claire. Merci

6 réponses

cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
3 oct. 2006 à 11:28
J'ai résolu, c'était une question de passage par référence. Merci quand même
3
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
26 sept. 2006 à 15:21
Personne pour m'éclairer un chouilla ? Si je partais des groupes ça serait sûrement plus simple mais je peux pas
0
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
27 sept. 2006 à 13:55
J'ai peut-être pas été assez claire dans ma question ... M'enfin je crois que je suis la mauvaise piste pour stocker le résultat de ce que je souhaite faire, mais je vois pas comment faire autrement.
0
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
28 sept. 2006 à 15:34
Bon ben je crois que je vais laisser tomber, parce que je tourne plus en rond qu'autre chose. Je vais adopter des solutions qui me plaisent pas du tout je crois ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
2 oct. 2006 à 11:45
Bon on m'a aidé à faire mon algo qui donne :

function traiteParent($unTitre,$tabFinal)
    {
        if($unTitre=='')
        {
            echo 'Pas de parent en envoi dans la fonction.
';
            return($tabFinal);
        }
        else
        {
            $titreParent = SQL_SELECT("SELECT * FROM devis_groupeRepere WHERE idGroupe='".$unTitre."';");
            if(count($titreParent)==1)
            {
                echo 'Pas de parent dans la récupération des infos du parent enregistré.
';
                return($tabFinal);
            }
            else
            {
                echo 'un parent trouvé !
';
                $tableauParent = traiteParent($titreParent['idGpeParent'], $tabFinal);
                if(!isset($tableauParent[$titreParent['nomGroupe']]))
                {
                    $tableauParent[$titreParent['nomGroupe']] = array();
                }
                echo $titreParent['nomGroupe'].'
';
                return($tableauParent[$titreParent['nomGroupe']]);
            }
        }
    }  

$tabFacture = array();
 for($i=1 ; $i<$nbReperes ; $i++)
{
           $tableauParent = traiteParent($reperes[$i]['idGroupe'], $tabFacture);
           array_push($tableauParent,array("nom"=>$reperes[$i]['designation'], "qte"=>$reperes[$i]['qteCommandee'], "PUHT"=>$reperes[$i]['prixUnitaireHT']));
}
J'ai vérifier que je passais bien correctement dans les boucles dans le bon ordre pour faire mon tableau, le problème est que $tabFacture reste vide !! Il ne change pas Je me suis dis que c'était une histoire de passage par valeur ou par référence, j'ai donc essayer de faire un passage par référence mais je n'y arrive pas, en tout cas ça ne change rien du tout (j'ai PHP5).

Je ne sais pas comment résoudre le problème pour que $tabFacture soit modifié.

Merci
0
cs_chamallow Messages postés 363 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 29 janvier 2007 1
2 oct. 2006 à 14:09
Personne ne voit pourquoi je n'arrive pas à faire mon tableau svp ??
Je me tire les cheveux
0
Rejoignez-nous