par
jeff » 04 juil. 2005, 23:08
salut
et oui je suis encore la dessus
j'ai trouver dans un bouquin (php et mysql campus press)une fonction qui me permet de construire un arbre d'une facon recursive et elle marche tres bien
mais j'ai quand meme un warning
notice undifined
et j'aimerais resoudre ce pb mais je voi pas trop comment tester ma variable (c'est un tableau)
voici la class
class arbre
{
/*chaque noeud de l'arbre possède des variables membres contenant toutes les données
d'une pages, sauf son contenu*/
var $m_id;
var $m_titre;
var $m_poster;
var $m_derniere_modif;
var $m_enfant;
var $m_listenfant;
var $m_niveau;
function arbre($id, $titre, $derniere_modif, $enfant,
$expand, $niveau, $expanded, $sublist)
{
//le constructeur définit les variables membres, mais surtout creer recursivement les parties inferieures de l'arbre
$this->m_id= $id;
$this->m_titre = $titre;
$this->m_derniere_modif = $derniere_modif;
$this->m_enfant =$enfant;
$this->m_listenfant = array();
$this->m_niveau = $niveau;
//les noeuds situés sous ce noeud ne nous interessent que si ce noeud possede des enfants et s'il doit etre ouvert
//les sous-listes doivent toujours etre ouvertes
if(($sublist||$expand) && $enfant)
{
$conn = db_connect();
$query = "select * from eurotrad where parent = $id order by derniere_modif";
$result = mysql_query($query);
for ($count=0; $row = @mysql_fetch_array($result); $count++)
{
if($sublist||$expanded[ $row['id'] ] == true)
$expand = true;
else
$expand = false;
$this->m_listenfant[$count]= new arbre($row['id'],$row['titre'],
$row['derniere_modif'],
$row['enfant'], $expand,
$niveau+1, $expanded, $sublist);
}
}
}
la ligne en defaut est celle-ci
if($sublist||$expanded[ $row['id'] ] == true)
et c'est la variable $expanded[ $row['id'] ]
$expanded[ $row['id'] ] contient les ids des noeud a ouvrir
donc je voudrai eliminer cette notice
merci