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
|
function affich_arbre($infos_replies, $row, $prefix="") {
$infos_replies->seek($row) ;
$i = 0 ;
$id_currentr = $infos_replies->f("RPY_ID") ;
//Si le message courrant est un message père.
if($infos_replies->f("RPY_ISFATHER") != 0) {
//On met tous les fils dans un tableau (seul moyen pour connaitre le dernier!)
$j = $row ;
$infos_replies->seek($i) ;
$nf = $infos_replies->nf() ;
while($j<$nf) {
$infos_replies->seek($j) ;
$infos_replies->next_record() ;
if($infos_replies->f("RPY_FATHER_ID") == $id_currentr) {
$tab[$i] = $j ;
$i++ ;
}
$j++ ;
}
}
$i = 0 ;
while($tab[$i]) {
$infos_replies->seek($tab[$i]) ;
$infos_replies->next_record() ;
//Si c le dernier des messages fils!
if( ($i-1) == count($tab)) {
echo $prefix."`-- ".$infos_replies->f("USR_LOGIN")."<br>" ;
}else {
echo $prefix."|-- ".$infos_replies->f("USR_LOGIN")."<br>" ;
}
if($infos_replies->f("RPY_ISFATHER") != 0) {
$prefix.= "| " ;
$this->affich_arbre($infos_replies, $i, $prefix) ;
}
$i++ ;
}
} |