Bonjour,
Je suis désolé mais je n'ai pas réussi à trouver un nom explicite. Je vous explique mon problème très particulier.
Actuellement je travaille sur un site et je pars d'un produit qui appartient lui même à plusieurs famille. Par exemple, telle cartouche peut aller sur telle ou telle imprimante. Bref, j'ai donc à gérer des promos. Je récupère donc l'ID de 6 produits. Ensuite, pour chaque produit je récupère dans la base de données les ID de leur famille sous la forme |xxx|xxxx||xxx bref j'arrive donc a créer un tableau qui va lister chacun des IDs famille.
Ensuite et seulement ensuite, à partir de chaque ID famille, je dois remonter toute une arborescence dans une table SQL (je pars par exemple de l'ID 6660 dont l'ID parent sera 3000 et ce jusqu'à temps d'arriver à l'ID parent 0). Tout ça pour pouvoir afficher, cartouche encre brother DCP 130C (par exemple).
Bref actuellement, j'arrive à remonter cette arborescence pour un ID famille mais pas pour plusieurs, le tableau s'ecrase à chaque fois.
Voici le code vous comprendrez mieux:
Bref avec ce code, je remonte l'arborescence d'un modèle alors qu'au final, je devrais le faire pour beaucoup plus. En gros, le tableau $arbo->tab s'ecrase à chaque fois, je desespère je n'ai plus d'inspiration.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 //Permet de parcourir l'arborescence pour un produit class arborescence{ public $tab = array(); function listeSousCateg($eId) { $vSqlSousCateg = "SELECT ID, IDParent, libelle FROM fam_prod WHERE ID = '".$eId."'"; $vRstSousCateg = mysql_query($vSqlSousCateg) or die("Erreur sql :".mysql_error()); while($vSousCateg = mysql_fetch_array($vRstSousCateg)) { $this->tab[$vSousCateg["ID"]] = array("id" => $vSousCateg["IDParent"], "libelle" => $vSousCateg["libelle"]); if($vSousCateg["IDParent"] != 0 ) { $this->listeSousCateg($vSousCateg["IDParent"]); } } } } //Récupération famille ID1 if($I1 != 0) { $famille_1 = Retourne_Famille($I1); $resultat_1 = Decoupe_Chaine($famille_1); echo "<pre>"; print_r($resultat_1); echo "</pre>"; //A partir de l'ID de famille, on va reconstituer les modèles compatibles $arbo = new arborescence; //ID1 for ($cpt=0;$cpt<sizeof($resultat_1);$cpt++) { $arbo->tab = array(); $arbo->listeSousCateg($resultat_1[$cpt]); } }else{ }
J'espère que vous comprendrez.
Merci d'avance![]()
Partager