menu deroulant php5
Posté : 29 sept. 2005, 17:53
salut
j'ai fait une class pour afficher des menus
ma table a cette tete
id_page id_parent gamme nom
1 0 0 industrie
2 1 0 entrainement
3 2 0 variateur
4 3 1 MM420
j'aimerai avoir vos conseil sur la metode et la class
merci
j'ai fait une class pour afficher des menus
<?php
class Arbre
{
public $database;
public $nom;
public $list_item;
public $type;
public function __construct($nom,$database,$type="s")
{
//$this->id_page=$id_p;
$this->db=$database;
$this->NomMenu=$nom;
$this->list_item=array();
$this->type=$type;
}
public function arbre()
{
$champs=array('id_page','gamme','id_parent','nom');
$table=array('page');
$dbb=new DAO($this->db,$table,$champs);
$param=array('id_parent=0');
$this->list_item=$dbb->select('',' order by id_page');
return $this;
}
public function display_menu($id)
{
$aff='<ul id="'.$this->NomMenu.'">';
foreach($this->list_item as $cle=>$val)
{
if($val[0]==$id)
$aff.='<li><a href="index.php?id_m='.$val[2].'">retour</a></li>'."\n";
if($val[2]==$id)
$aff.='<li><a href="index.php?id_m='.$val[0].'">'.$val[3].'</a></li>'."\n";
}
$aff.='</ul>';
echo $aff;
}
public function display_chemin($id)
{
while($id!=0)
{
foreach($this->list_item as $cle=>$val)
{
if($val[2]==$id)
{
echo '<li><a href="index.php?id_m='.$val[0].'">'.$val[3].'</a></li>'."\n";
$id=$val[0];
$this->display_chemin($id);
}
}
}
}
}
cependant ma methode display_chemin qui devrai afficher le "chemin absolu" ne fonction pas (boucle infini) qui est du au while et au fait que la recursivité ne se fait pasma table a cette tete
id_page id_parent gamme nom
1 0 0 industrie
2 1 0 entrainement
3 2 0 variateur
4 3 1 MM420
j'aimerai avoir vos conseil sur la metode et la class
merci
