Html et css dans un menu php/mysql
Posté : 28 oct. 2011, 23:38
Bonsoir a tous! je viens vous revoir car je cal sur un soucis pour mon menu que je viens de passer en dynamique avec une fonction récursive... A la base mon menu était en html+css.
Mon problème est que je n'arrive pas afficher balise <li class="niv1"> pour les catégories et la balise <li class="left"> pour les sous menu, en claire mon menu html ressemble à ca:
et voilas mon code php du nouveau menu :
Merci
Mon problème est que je n'arrive pas afficher balise <li class="niv1"> pour les catégories et la balise <li class="left"> pour les sous menu, en claire mon menu html ressemble à ca:
<div class="menu">
<ul class="onglets">
<li class="niv1"><a class="services" href="cat1-services.html">Services</a>
<ul class="sousMenu">
<li class="left"><a href="sct15-informatique.html">Informatique</a></li>
<li class="left"><a href="sct16-telephonie.html">Téléphonie</a></li>
<li class="left"><a href="sct17-image-sons.html">Image & Sons</a></li>
</ul>
</li>
</div>
et voilas mon code php du nouveau menu :
<?php
include("../php/function.php");
mysql_connect("localhost", "root", "");
mysql_select_db("menu") or die('Impossible de sélectionner une base de donnée.');
$query = "SELECT * FROM profession ORDER BY nom ASC";
$result = mysql_query($query);
$categories = array();
while($row = mysql_fetch_array($result)) {
$categories[] = array(
'parent_id' => $row['idProfession'],
'categorie_id' => $row['id'],
'nom_categorie' => $row['nom']
);
}
function afficher_menu($parent, $niveau, $array) {
$html = "";
$niveau_precedent = 0;
if (!$niveau && !$niveau_precedent) $html .= "\n<ul class='onglets'>\n";
foreach ($array AS $noeud) {
if ($parent == $noeud['parent_id']) {
if ($niveau_precedent < $niveau) $html .= "\n<ul class='sousMenu'>\n";
$html .= "<li class='niv1'><a href=\"cat" . $noeud['categorie_id'] . "-" . $noeud['nom_categorie'] .".html\">" . $noeud['nom_categorie'] . "</a>";
$niveau_precedent = $niveau;
$html .= afficher_menu($noeud['categorie_id'], ($niveau + 1), $array);
}
}
if (($niveau_precedent == $niveau) && ($niveau_precedent != 0)) $html .= "</ul>\n</li>\n";
else if ($niveau_precedent == $niveau) $html .= "</ul>\n";
else $html .= "</li>\n";
return $html;
}
?>
<div class="menu">
<?php echo afficher_menu(0, 0, $categories); ?>
</div>
Voilas c'est tout si une personne peu m'aider pour faire cette modif...Merci