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
|
<?php
//Retourner le nombre d'enfants d'une page donnée
function getChild($id_page){
$sql = 'SELECT * FROM pages WHERE Id_parent='.$id_page;
$result = requete_SQL($sql);
return mysql_num_rows($result);
}
//lister les pages d'un parent
function listChild($id_page) {
// Sélectionne l'ensemble des pages filles de la page courante
$strSQL = "SELECT * FROM pages WHERE Id_parent = ".$id_page;
$resultat = requete_SQL($strSQL);
// Si la requête a renvoyé des résultats
if (mysql_affected_rows() !=0) {
echo '<ul>';
// Tant qu'il y a des pages filles, on affiche un lien vers elle
// et pour chacune d'elle, on rappelle la fonction
while ($tabl_result = mysql_fetch_array($resultat)) {
echo '<li';
//Si l'item a des enfants, on ajoute la classe à li
if(getChild($tabl_result['Id_page'])>0) echo' class="monstyle"';
echo '>';
echo '<a href="index.php?id_p='.$tabl_result['Id_page'].'">';
echo $tabl_result['titre'];
echo '</a>';
//Si l'item a des enfants, on affiche la puce après le lien
if(getChild($tabl_result['Id_page'])>0) echo ' »';
listChild($tabl_result['Id_page']);
echo '</li>';
}
echo '</ul>';
}
}
//Pour générer mon menu dynamique à la volée.
listChild(1);
?> |