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 :

Attributition variable sur clic d'un lien


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2005
    Messages : 212
    Par défaut Attributition variable sur clic d'un lien
    Bonjour,

    J'aimerai savoir si il est possible d'attribuer une valeur à une variable php en fonction du lien cliqué (en html).

    En gros lorsque l'utilisateur clique sur le lien "Accueil", la variable concerné prend une certaine valeur.

    Ceci dans le but de faire afficher des sous menu qui seront different en fonction de la valeur de la variable.

    Est-ce possible ? Si oui avez vous une idée ?

    J'espere être claire.

    Merci

  2. #2
    Membre émérite
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Par défaut
    Salut, oui il est possible de faire ce que tu demande...

    exemple, ton fichier s'appelle index.php, il est composé d'un sommaire (menu) à gauche et d'une zone au centre de la page...
    Tu veux quand l'utilisateur click sur un item de ton menu, qu'il "ouvre" le menu avec un sous-menu (c ca???)

    Si c ca, alors tu peux par exemple faire


    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    <?php
     
    if (isset($_GET['menuID']))
      $menuID=$_GET['menuID'];
    else $menuID=-1;
     
    //tu affiche ici ton code html de ta page
     
    //puis ton menu fait avec des href
     
    $idItemMenu = ... (la tu te débrouille pour associer a chaque item un id)
     
    echo "<a href=\"./index.php?menuID=$idItemMenu\" > exemple d'item </a>";
    // LE code précédent cette ligne rappelle la meme page mais avec l'ID de l'item séctionné en GET
     
    ...
     
    switch ($menuID)
    {
    case -1: //pas d'ID en param donc tu fais rien
    break;
    case 0: // id=0 donc tu dévoile le sous menu de l'item 0
    break;
    ...
    default:
    break;
    }
    ?>
    En espérant t'avoir aidé...

    ++
    JC

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2005
    Messages : 212
    Par défaut
    C'est exactement ce queje veux faire.
    Merci de ton aide.

    J'ai donc essayé de me faire une page de test.
    Mais j'ai un problème sur le deuxième lien car il y a quelque chose que je ne comprends pas.
    Des que tu cre un lien dans le menu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    //puis ton menu fait avec des href
     <a href="essai.php" id="1"> affiche sous menu accueil</a>
    il faut aussi obligatoirement le crée ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    echo "<a href=\"./essai.php?menuID=$idItemMenu\">affiche sous menu accueil</a>";
    // LE code précédent cette ligne rappelle la meme page mais avec l'ID de l'item séctionné en GET
    pour rafraichir la page ?

    Je pense que oui. Mais ca ne fonctionne pas correctement.

    Merci de ton aide en tout cas.



    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    <?php
     
    if (isset($_GET['menuID']))
      $menuID=$_GET['menuID'];
    else $menuID=-1;
    ?>
     
    //tu affiche ici ton code html de ta page
     
    //puis ton menu fait avec des href
     <a href="essai.php" id="1"> affiche sous menu accueil</a>
     
    <? 
    //(la tu te débrouille pour associer a chaque item un id)
    $idItemMenu = 1 
     
    echo "<a href=\"./essai.php?menuID=$idItemMenu\">affiche sous menu accueil</a>";
    // LE code précédent cette ligne rappelle la meme page mais avec l'ID de l'item séctionné en GET
     
    switch ($menuID)
    {
    case -1: //pas d'ID en param donc tu fais rien
    break;
    case 0: // id=0 donc tu dévoile le sous menu de l'item 0
    case 1:
    echo "essai affichage sous-menu";
    break;
    default:
    break;
    }
    ?>

  4. #4
    Membre émérite
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Par défaut
    En fait tu ne dois ecrire qu'une fois le href...

    Je voulais faire court et simple, j'ai fait juste court

    Je reprend avec un menu à deux items, et chaque item à 2 sous-items

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    <?php
     
    $menu1 = array("menu1", "ss-menu1_1", "ss-menu1_2");
    $menu2 = array("menu2", "ss-menu2_1", "ss-menu2_2");
    $menu = array($menu1, 0, $menu2, 0); //0 veut dire menu non déploié
     
    if (isset($_GET['idMenu']))
    {
       $idMenu = $_GET['idMenu'];
       $index = 2*$idMenu + 1;
       $menu[index] = 1-$menu[index]; // On change ici la valeur du déploiement
    }
    else $idMenu=-1;
     
    for ($i=0 ; $i<count(menu)/2 ; $i++) // pour chaque item principal
    {
      echo "<a href=\"index.php?idMenu=$i\"> $menu[$i][0] </a>";
     
      if ($i == $idMenu) // C'est l'item sélectionné juste avant
      {
        // On va donc le déployer ou non ici
       $index = 2*$i + 1;
       if ($menu[$index] == 1) // il faut alors le déployer
       {
          for ($j=1 ; $j<count($menu[$i]) ; $j++)
          {
             echo "<br><a href=\"index.php\"> $menu[$i][$j] </a>";
          }
       }
      }
    }
     
    ?>

    C du a peu près, mais voilà le style que je te propose

    ++
    JC

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2005
    Messages : 212
    Par défaut
    J'avoue, pour le moment que je comprends pas grand chose.

    Mais je vais travailler ta solution.
    Je te remercie.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Lien internet variable sur bouton
    Par BMATH dans le forum IHM
    Réponses: 1
    Dernier message: 11/11/2011, 00h08
  2. CSS non chargé sur clic d'un lien (arrive de temps à autre)
    Par tidus_6_9_2 dans le forum Mise en page CSS
    Réponses: 0
    Dernier message: 18/10/2011, 11h50
  3. [AC-2003] Affectation variable après clic sur un bouton.
    Par maxime350 dans le forum IHM
    Réponses: 7
    Dernier message: 20/02/2010, 17h37
  4. Conserver format sur clic d'un lien http
    Par lbar012001 dans le forum Word
    Réponses: 1
    Dernier message: 22/10/2008, 15h02
  5. Mise en session d'une variable sur clic d'un bouton
    Par flexx dans le forum Langage
    Réponses: 2
    Dernier message: 28/08/2008, 13h52

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