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 :

entre Popup et tooltip


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 64
    Points : 47
    Points
    47
    Par défaut entre Popup et tooltip
    Bonjour à tous,

    Je n'arrive pas à trouver ou faire :
    J'ai un tableau correspondant à une requête sur une table MySQL.
    Sur certaines lignes je voudrais faire apparaitre un popup affichant certaines données d'une autre table.
    La 2ème table est une table secondaire de la première.

    Jusqu'à présent j'utilisais overlib.js qui me suffisait.
    Je voudrais aller plus loin en présentation et renseignement, ce que ne me permet pas apparemment overlib.

    Auriez-vous un script permettant de récupérer un id et d'afficher dans un fichier html (avec des div) des infos en tant que popup ?

    J'espère être assez clair.
    Merci pour vos conseils
    Benoit

  2. #2
    Membre expérimenté
    Avatar de ryan
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2003
    Messages
    956
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2003
    Messages : 956
    Points : 1 316
    Points
    1 316
    Billets dans le blog
    1
    Par défaut
    Yop!

    Je viens de terminer quelque chose d'assez semblable. Bon, c'est plus une question de javascript que de PHP, s'pas...

    Le plus dur est de bien positionner le popup à côté de la cellule qui est cliquée.

    Soit la div dans laquelle tu veux afficher les données:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "<div id='thepopup'></div>";
    Soit la cellule sur laquelle tu veux cliquer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "<td id='company" . $i . "' onMouseDown=\"openPop(" . $i ."," . $row["compid"] . ",'company','right',200)\">" . $row["company"] . "</td>";
    Dans mon cas, j'ai une boucle dont le compteur est $i et qui parcourt le résultat $row d'un query sur la table "company" de ma base.

    Le but est d'afficher les coordonnées de la compagnie quand on clique sur son nom.

    L'ID de la compagnie est $row["compid"] et son nom est $row["company"].

    La fonction openPop() attend les paramètres suivants:
    - l'index $i
    - l'ID de la compagnie
    - le mot company qui va permettre à la fonction de reconstituer l'ID de la cellule en concaténant ce mot et l'index $i (j'ai aussi d'autres cellules qui affichent d'autres renseignements sur les factures de la compagnie, et dans ce cas, le mot est invoice)
    - la direction d'affichage du popup (right ou left) par rapport à la cellule qui est cliquée
    - la largeur du popup (ici: 200)

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    function openPop(theindex,theid,thepop,thedirection,thewidth)
    {
     
      // appel aux fonctions AJAX qui affichent les coordonnées de la compagnie ou les données de la facture dans le popup
      if(thepop == "invoice") showInvoice(theid);
      if(thepop == "company") showCompany(theid); 
     
      popupobject = document.getElementById("thepopup"); 
     
      theobject = document.getElementById(thepop + theindex);
     
      cellwidth = theobject.offsetWidth;  
     
      // trouve les coordonnées du coin supérieur gauche de la cellule
      x = 0;
      y = 0;
      while (theobject != null)
      {
        x = x + theobject.offsetLeft - theobject.scrollLeft;
        y = y + theobject.offsetTop - theobject.scrollTop;
        theobject = theobject.offsetParent;
      }
     
      // si le navigateur est IE, il faut tenir compte du scroll de la page
      if (document.all) 
      {
        thescroll = document.documentElement.scrollTop;
      }
      else
      {
        thescroll = 0;
      }	
     
      y = y + thescroll;
     
      if (thedirection == "right") x = x + cellwidth;
      if (thedirection == "left") x = x - thewidth;
     
      popupobject.style.display = "block";
      popupobject.style.top = y + "px";
      popupobject.style.left = x + "px";
      popupobject.style.width = thewidth + "px";
    }
    J'espère qu'il n'y a pas de faute car j'ai simplifié le code. Dans ma page, je tiens aussi compte d'un rollover de la cellule et de l'affichage de la cellule dans une couleur différente quand le popup est affiché à côté d'elle, le tout en modifiant la classe de la cellule.

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 64
    Points : 47
    Points
    47
    Par défaut
    Merci ryan pour ton code,

    Je vais tester, en tout cas il devrait répondre en partie à mes attentes, à moi à le peaufiner.

    Effectivement, il aurait été plus judicieux de le mettre dans le forum javascript.

    Bonne journée
    Benoit

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

Discussions similaires

  1. Communication entre popup et mxml
    Par rodney733 dans le forum Flex
    Réponses: 1
    Dernier message: 03/06/2011, 09h51
  2. [AJAX] Transmissions de champs form entre popup et page apelante
    Par mickado dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 03/02/2008, 20h49
  3. Communication entre popup et page mere
    Par fepagaf dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 14/09/2007, 10h40
  4. lien entre Popup
    Par frmaniako dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 05/06/2007, 12h23
  5. [WebForms]Communication entre popup et page principale
    Par ben_popcorn dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 05/12/2006, 10h33

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