par
snyfir » 30 juin 2008, 13:48
Bonjour,
J'ai une fonction que j'ai créé, qui me permait de créé une arborescence.
par exemple, avec une base de donné mysql comme ceci :

J'obtiens :
voiture
--ford
--fiat
--renault
batterie
--caisse claire
--baguette
----courte
----longue
--symbale
Voici ma fonction :
function arborescence($id_depart = 0, $compteur = 0)
{
global $template;
$tabs = "";
for($i = 0;$i < $compteur;$i++) {
$tabs .= "--";
}
$retour = mysql_query("SELECT * FROM category WHERE id_parent=$id_depart");
if (mysql_num_rows($retour)) {
while ($donnees = mysql_fetch_array($retour)) {
echo $tabs . $donnees['name'] . '<br />';
$id_depart = $donnees['id'];
arborescence($id_depart, $compteur + 1);
}
}
}
Ce que je voudrais faire, c'est d'introduire ce morceau de code dans ma classe category. Le problème est que je doit différencier le rendu, des calcul (que ma fonction echo soit a l'extérieur), de plus c'est une fonction récursive et sa m'empêche de la mettre dans ma classe. Comment je pourrais éviter tout cela ? Merci de votre aide.
Bonjour,
J'ai une fonction que j'ai créé, qui me permait de créé une arborescence.
par exemple, avec une base de donné mysql comme ceci :
[url=http://images.oxeo.fr][img]http://images.oxeo.fr/img/a14a08dae2d188394c19d186e715acd4/mysql.jpg[/img][/url]
J'obtiens :
[quote]
voiture
--ford
--fiat
--renault
batterie
--caisse claire
--baguette
----courte
----longue
--symbale
[/quote]
Voici ma fonction :
[php]function arborescence($id_depart = 0, $compteur = 0)
{
global $template;
$tabs = "";
for($i = 0;$i < $compteur;$i++) {
$tabs .= "--";
}
$retour = mysql_query("SELECT * FROM category WHERE id_parent=$id_depart");
if (mysql_num_rows($retour)) {
while ($donnees = mysql_fetch_array($retour)) {
echo $tabs . $donnees['name'] . '<br />';
$id_depart = $donnees['id'];
arborescence($id_depart, $compteur + 1);
}
}
}[/php]
Ce que je voudrais faire, c'est d'introduire ce morceau de code dans ma classe category. Le problème est que je doit différencier le rendu, des calcul (que ma fonction echo soit a l'extérieur), de plus c'est une fonction récursive et sa m'empêche de la mettre dans ma classe. Comment je pourrais éviter tout cela ? Merci de votre aide.