IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Problème menu PHP


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 34
    Points : 19
    Points
    19
    Par défaut [Tableaux] Problème menu PHP
    Bonjours a toute et a tous.
    Voila j'ai crée un menu en CSS qui fai aparaitre une barre avec mes sous menu.

    Mon probleme est que lorsque je click sur le menu désiré, ca fai un petit onglet de couleur diférente de mon menu d'origine afin que les utilisateur puisse voir dans kel menu ils sont.

    j'ai donc crée une class current qui affiche le petit onglet.

    Mais je ne sais pas comment faire en php pour que cette onglet aparaisse sur le menu selectionné.
    le code de ma page menu.php

    <?php
    echo "<ul>
    <li><a href='index.php' title='Festival'><span>Festival</span></a></li>
    <li><a href='index.php' title='Archive' ";if() echo "class='current'"" ><span>Archive</span></a></li>
    <li><a href='index.php' title='Billetrie'><span>Billetrie</span></a></li>
    <li><a href='index.php' title='Contact'><span>Contact</span></a></li>
    <li><a href='index.php' title='Liens'><span>Liens</span></a></li>
    </ul>";
    ?>

    et voici le lien du site ou se trouvé le code de mon menu:

    http://www.13styles.com/css-menus/dolphin/

    J'imagine qu'il fo que je mette des if en quelque part mais vu que je suis noob en la matiere bah...je fais comme tout le monde j'apprend ^^

    Merci d'avance

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 81
    Points : 92
    Points
    92
    Par défaut
    Essaie comme ca ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php
    echo "
    <ul>
      <li><a href='index.php' title='Festival'><span>Festival</span></a></li>
      <li><a href='index.php' title='Archive' "; if() echo "class='current'"; echo ">
           <span>Archive</span>
           </a>
      </li>
      <li><a href='index.php' title='Billetrie'><span>Billetrie</span></a></li>
      <li><a href='index.php' title='Contact'><span>Contact</span></a></li>
      <li><a href='index.php' title='Liens'><span>Liens</span></a></li>
      </ul>";
    ?>

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 34
    Points : 19
    Points
    19
    Par défaut
    euh je vois pas trop se que c

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 81
    Points : 92
    Points
    92
    Par défaut
    J'ai juste modifier une partie de ton echo et remis en forme le code c'est tout ...

    Parce que tu fermais les ", donc il ne pouvait pas continuer a faire ton echo

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <li><a href='index.php' title='Archive' ";if() echo "class='current'"" ><span>Archive</span></a></li>
    est devenu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <li><a href='index.php' title='Archive' "; if() echo "class='current'"; echo "><span>Archive</span></a></li>

  5. #5
    Membre confirmé
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Points : 518
    Points
    518
    Par défaut
    le plus simple est de placer ta condition avant l'echo :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php
    if(current_page) $class = 'class="current"';
     
    echo '
    <ul>
      <li><a href="index.php" title="Festival"><span>Festival</span></a></li>
      <li><a href="index.php" title="Archive" '.$class.'>
           <span>Archive</span>
           </a>
      </li>
      <li><a href="index.php" title="Billetrie"><span>Billetrie</span></a></li>
      <li><a href="index.php" title="Contact"><span>Contact</span></a></li>
      <li><a href="index.php" title="Liens"><span>Liens</span></a></li>
      </ul>';
    ?>
    voilà pour la syntaxe, ensuite il faut que tu réalises la condition selon la page courante et cela pour chaque menu. Un switch serait utile.

    ps: préfère les doubles cotes pour les attributs de balises.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 34
    Points : 19
    Points
    19
    Par défaut
    miss dsl.

    Oui je disai ca fai rien ce que tu viens de me donné lol, ce qu'il me faudrai c'est rmplir ma condition if que je repeterai pour chaque menu....
    Mais voila je sais pas comment faire, faut déclaré une variable etc??

    Merci d'avance

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 34
    Points : 19
    Points
    19
    Par défaut
    Merci mais voila se que je vourai savoir c'est comment tu réalises la condition selon la page courante?

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 81
    Points : 92
    Points
    92
    Par défaut
    Bah oui ca ne fait rien, moi je pensais que dans ton if() tu savais quoi mettre, tu mets la condition pour chaque, par exemple : if($_GET["section" == "festival]) (ce qui veut dire que t'es sur la page festival, alors tu mets la class.

  9. #9
    Membre confirmé
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Points : 518
    Points
    518
    Par défaut
    Tu as index.php pour chaque lien, il te faut un élément pour caractériser ta page.


    Soit une page différente :

    festival.php
    archives.php
    ....


    ou bien utilisé la méthode GET

    index.php?page=....


    il faut bien qu'a un moment tu précises la page ou la portion de code à afficher

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 34
    Points : 19
    Points
    19
    Par défaut
    ^^

    Alors voila autre souci, j'ai une page.php ou s'affichera le contenu du menu selectioné, dans mon index.php je fai une div avec un include page.php mais comment et ou je precise qu'en cliquant sur tel menu ma page.php affichera tel truc.
    Parce que j'aurai plein de sous menu que je rajouterai donc je ne peu pas creer un .php par menu sinon j'en creerai 20 (pas tip top)

    Merci en tout cas pour votre aide c'est sympa.

    PS: quand tu me dis utilise GET machin et tout je rappel que je debute en PHP donc ca me parle pas trop :s mais merci de me repondre aussi rapidemment

  11. #11
    Membre confirmé
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Points : 518
    Points
    518
    Par défaut
    En ce qui concerne ton nombre de page ça dépend de ce que tu comptes faire. Si tu as des pages similaires pour l'affichage et le traitement tu pourras les regrouper par contre si c'est completement différent le mieux est de créér une nouvelle page.

    Et si tu as des actions sur une page, c'est à dire une page où une interactivité est présente tel que : un ajout, une suppression, une modification (sur une base de donnée) la bien sûr tu n'utiliseras qu'une seule page.

    QUand je parle de GET, c'est la méthode qui permet d'utiliser l'url de la page pour y transporter des informations, des valeurs. La page peut "s'appeler" elle même ou bien diriger vers une autre page.

    Dans le lien ci dessous on peut voir qu'après le nom de la page (produit.php) suit un ? qui défini le début des variable du GET et ensuite suppProduitId.

    pour utiliser plusieurs variable la syntaxe est la suivante :
    ( on insére le séparateur ( & ) de variable )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="produit.php?suppProduitId=25&autreVariable=toto">

    suppProduitId est la variable issu de la méthode GET.

    Pour récupérer sa valeur on utilise le tableau $_GET et on procède ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $id = $_GET['suppProduitId']
    $une_variable = $_GET['autreVariable']
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $_GET['suppProduitId'];  // affiche 25
    Il faut être très prudent avec la manipulation des valeurs issu d'un GET (et je dirais même de toutes valeurs qu' elles soient issu de $_POST, $_SERVEUR .... et j'en passe). Elles sont facilement modifiable.

    je ferme la parenthèse ...

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 81
    Points : 92
    Points
    92
    Par défaut
    On ne peut être plus clair
    Tout est au dessus

Discussions similaires

  1. [Tableaux] Problème forum php
    Par Luffy49 dans le forum Langage
    Réponses: 8
    Dernier message: 04/04/2007, 16h13
  2. [Tableaux] Problème PHP - Recherche dans un Array
    Par daniel_gre dans le forum Langage
    Réponses: 1
    Dernier message: 18/07/2006, 09h10
  3. [Tableaux] Problème lecture RSS depuis PHP
    Par naivenu dans le forum Langage
    Réponses: 6
    Dernier message: 08/07/2006, 22h37
  4. Réponses: 2
    Dernier message: 26/05/2006, 00h04
  5. [Tableaux] Probléme Tableau / Menu
    Par carnage_59 dans le forum Langage
    Réponses: 7
    Dernier message: 13/10/2005, 13h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo