Navigation dynamique selon date
Bonjour à tous,
je suis face à un petit souci pour un site que je suis en train de construire,
c'est un site qui présente plusieurs évènements/manifestations (une dizaine)
j'aimerai les classer dans ma navigation principale en fonction de la pertinence de chaque évènement, pour ne pas en favoriser un plutôt qu'un autre, j'aimerai que dès qu'un évènement est passé de date, qu'il se retrouve automatiquement en fin de navigation et que le prochain évènement à venir se mette en premier (classer les évènement dans ma navigation par date).
J'ai fait une table dans ma base de donnée qui comporte :
ID, EVENT (nom de l'évènement), DATE_FIN (la date de fin de l'évènement)
voici le code PHP qui m'affiche la nav et qui marche:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| <?
$select="SELECT * FROM nav ORDER BY DATE_FIN";
$result=mysql_query($select);
$navArray=array ();
//Boucle navigation
while ($row=mysql_fetch_array($result))
{
//affichage de chaque evenement classé par date de fin
$navArray[$row["ID"]]=$row["EVENT"];
}
?>
<ul id="nav">
<?
//on génère le tableau et on affiche les données
foreach ($navArray as $keyNav=>$navItem)
{
if ($event==$keyNav) $navOn="class='navOn'";
else $navOn=NULL;
?>
<li><a id="nav<? echo $keyNav; ?>" <? echo $navOn ?> href="events.php?lang=<? if (empty ($lang)) echo "fr"; echo $lang ?>&event=<? echo $keyNav; ?>" ><? echo $navItem; ?></a></li>
<?
}
?>
</ul> |
bien évidement le problème est que dès qu'une date est dépassée (si par exemple je met la date de hier dans ma base de donnée, l'évènement qui est associé reste en premier vu que je trie par date de fin... :?
comment trier cela correctement ?
Il faudrait aussi que chaque année je m'occupe de remettre les nouvelles dates de chaque évènement afin que ça soit toujours d'actualité et qu'il n'y ait pas de bug ?
N'y a il pas une meilleure solution, des idées et suggestions à me proposer ?
D'avance un grand merci pour votre aide
Salutations