Oui, encore un code
(pas très clair c'est vrai) que j'ai parachuté.
En fait il peut être légèrement améliorer pour ne pas te soucier du nombre d'éléments à parcourir dans le tableau.
<?php
$page = isset($_GET["page"]) ? $_GET["page"] : "";
$menu[] = "news";
$menu[] = "bio";
$menu[] = "music";
$menu[] = "agenda";
$menu[] = "booking";
$menu[] = "contact";
?>
<nav>
<ul>
<?php
foreach($menu as $k=>$val){
echo "<li ".($page==$menu[$k] || $page=="" && $k==0 ? "class=here" : "")."><a href=\"index.php".($k==0 ? "": "?page=".$menu[$k])."\">".$menu[$k]."</a></li>";
}
?>
</ul>
</nav>
Pour un code plus bavard, ça donnerait ça
<?php
$page = isset($_GET["page"]) ? $_GET["page"] : ""; // (1)
$menu[] = "news"; // (2)
$menu[] = "bio";
$menu[] = "music";
$menu[] = "agenda";
$menu[] = "booking";
$menu[] = "contact";
?>
<nav>
<ul>
<?php
foreach($menu as $k=>$val){ // (3)
$TonCode = "<li "; // (4)
if ($page == $menu[$k] || $page == "" && $k ==0 ) { // (5)
$TonCode .= "class=here";
}
$TonCode .= "><a href=\"index.php"; // (6)
if ($k != 0) { // (7)
$TonCode .= "?page=".$menu[$k];
}
$TonCode .= "\">".$menu[$k]."</a></li>"; // (8)
echo $TonCode;
}
?>
</ul>
</nav>
1 - On récupère la valeur de "page" dans l'url (ex:index.php?page=bio ==> $page = bio) et si on est sur "News", c'est qu'elle est vide alors la valeur de $page sera vide aussi.
2 - On met les liens de ton menu dans un tableau pour le récupérer ensuite.
3 - On parcourt le tableau où se trouvent les éléments de ton menu pour créer la structure HTML adéquate.
4 - On commence à écrire le code HTML à intégrer.
5 - Si la valeur de $page est la même que celle de l'élément en cours du tableau que l'on parcourt, ou que la valeur de $page est vide et que l'élément en cours est le premier (soit "news"), donc l'élément en cours est la page sur laquelle on se trouve. On lui ajoute alors une classe "here" pour pouvoir lui appliquer un style en CSS par la suite.
6 - On continue à écrire le code HTML à intégrer.
7 - Si l'élément en cours du tableau que l'on parcourt a un indexe différent de 0 (i.e ce n'est pas "news") alors on ajoute à l'attribut "href" "?page="+le lien adéquat.
8 - On finit d'écrire le code HTML à intégrer.
Bon ça doit être encore brouillons mais un peu moins qu'au début