28173 sujets

CSS et mise en forme, CSS3

Bonsoir Artefact,

A priori il te suffit de définir une class au lien "en cours", basiquement :
a.current {blablabla}

Et d'appliquer ensuite ta class sur le lien en cours de la page active :

<ul id="menu">
    <li><a class="current" href="#">Lien 1</a></li>
    <li><a href="#">Lien 2</a></li>
    <li><a href="#">Lien 3</a></li>
    <li><a href="#">Lien 4</a></li>
  </ul>


Par contre, pour le PHP, je ne vais pas vraiment pouvoir t'aider, et je risquerai de "t'enduire d'erreurs"(...) mais je suppose qu'une requête ou un script doit pouvoir faire le lien entre la page (#) et le lien "en cours" et lui affecter la class current le cas échéant ?

Bon courage Smiley cligne
peut-etre quelque chose comme ça

en supposant une table qui contient les nom des liens et leur href ( en lien relatif depuis la racine )

<?php 

$query = "select nom,href from menu";
$res = mysql_query($query) or die ($query);

echo "<ul id='menu'>";
while ($r = mysql_fetch_assoc($res)) {
    echo  "<li><a href='".$r['href']."' ".(($_SERVER['PHP_SELF'] == $r['href'])?"class='actif'":"")." > ".$r['nom']."</a></li>";
}
echo '</ul>';

?>
Merci, le code php que tu m'as donné je le remplace à la place de ce que contenu mon include ?
Ma table que je crée elle contient que 2 champs id et nom ?
lut,

a écrit :
Merci, le code php que tu m'as donné je le remplace à la place de ce que contenu mon include ?


tous depend du contenu de l'include mais je pense que tu dois adapter le code de la page include avec le code que je t'ai passé.

a écrit :
Ma table que je crée elle contient que 2 champs id et nom ?


la table que je te propose a 3 champs id nom et href.

mais ce n'est la qu'un exemple basique. les tables que j'utilise quand a moi pour mes menus on 4 champs ( au moins ) le dernier idparent permet de générer des menus a plusieurs niveaux. mais alors le code php doit être un peu adapter.
Modifié par CPascal (29 Jan 2008 - 11:00)