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

Conception Web Discussion :

Faire apparaitre/disparaitre lignes tableau -Comment Faire ?


Sujet :

Conception Web

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2006
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 32
    Points : 30
    Points
    30
    Par défaut Faire apparaitre/disparaitre lignes tableau -Comment Faire ?
    Bonjour à tous,

    Je souhaiterais réaliser un tableau (ou plusieurs?) qui regroupe des infos pas catégorie/sous-catégorie. J'aimerais que l'on puisse developper le tableau en question afin de faire apparraitre et disparaitre ses catégories et sous-catégories.

    Autrement dit, j'aimerais faire ce qui a été réalisé sur ce site à cette page: http://www.developpez.net/forums/index.php?c=13

    Comment faire, quel technologie utiliser ?

    De plus les données affichées dans le tableau sont dynamique. Proviennent d'une base de données mysql et donc le nombre de rubrique-sous-rubrique peut changer...

    Merci par avance à tous.
    Mathieu.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    519
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 519
    Points : 298
    Points
    298
    Par défaut
    apparement, c'est fait en php. donc, un allez-retour sur le serveur a chaque clic !

    si tu veux pas faire comme ca, tu peux lire ca:
    http://www.developpez.net/forums/viewtopic.php?t=455798

    c'est la solution en javascript

  3. #3
    Membre éclairé Avatar de Death83
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 667
    Points : 878
    Points
    878
    Par défaut
    Le mieu serait de le faire en AJAX.

    Regarde sur cette page de mon site :
    http://www.manganimes.org/critiques/accueilmanga.php

    Tape a dans le moteur de recherche. Et apres click plusieurs fois sur les loupes .

    Dis moi si ca t'interesse je pourrais te filer des bouts de code par MP.

    Sinon j'ai fait la meme chose en php (c'est ce que tu optient si tu click sur une des lettre dans l'abcdere). Mais c'est plus lourd et ca rafraichi la page entierement a chaque click.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Mars 2006
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 32
    Points : 30
    Points
    30
    Par défaut Ouai c ça !
    Salut Death83,
    C'est exactement cela que je souhaite faire.
    Chaque fois que l'on clic sur la loupe cela ouvre ou ferme le tableau.
    La version php m'irais très bien dans la mesure où je ne souhaite pas me mettre à l'ajax tout de suite...

    Si tu pe me filer des bouts de codes ce serait super.
    Mathieu.

  5. #5
    Membre confirmé
    Avatar de ilood
    Inscrit en
    Mars 2005
    Messages
    468
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 468
    Points : 529
    Points
    529
    Par défaut
    Bonjour

    Il ne faut pas tout de suite sortir la grosse artillerie ajax.
    Un peu de javascript pour gérer les styles.

    Un exemple qui masque un bloc. Reste à gérer l'affichage, suffit de changer un peu la fonction. Vérification de l'état du bloc puis affecter un display bloc ou none en fonction de l'état.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <script type="text/javascript">
    function masque&#40;id&#41;&#123;
    	document.getElementById&#40;id&#41;.style.display = 'none';
    &#125;
    </script>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <ul>
    	<li onclick="javascript&#58;masque&#40;'sous1'&#41;;">Partie 1
    	<ul id="sous1">
    		<li>Sous 1
    		<li>Sous 2
    	</ul>
    	</li>
    	<li>Partie 1</li>
    	<li>Partie 2</li>
    </ul>

  6. #6
    Membre éclairé Avatar de Death83
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 667
    Points : 878
    Points
    878
    Par défaut
    Oki ca marche. La version php n'est pas compliqué du tout.

    Je t'expliquerai le principe par mp. Pas tout de suite car j'ai du boulot, mais je te fait ca bientôt.

  7. #7
    Nouveau membre du Club
    Inscrit en
    Mars 2006
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 32
    Points : 30
    Points
    30
    Par défaut mp?
    Merci a vous deux death83 et ilood,

    La question triviale de la journée pour death83: C'est quoi mp?

    Merci @+
    Math.

  8. #8
    Membre éclairé Avatar de Death83
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 667
    Points : 878
    Points
    878
    Par défaut
    Mp c'est message privé.

    Mais je vais répondre ici en faite.

    Oui de toute manière si tu utilise l'AJAX c'est le même principe que ce que ilood ta donné. L'avantage c'est que tu ne va chercher dans ta base de donné que les données a afficher. Imagines si tu as un tableaux avec 1000 lignes masqué, le gain devient vite interessant.

    Sinon pour la solution php ce que je fait c'est que j'imbrique un tableau dans un autre tableau.

    Dans le premier tableau je défini un id automatiquement (qui correspond à l'id dans ma base de donné comme ca je suis sur qu'il est unique).

    Ensuite je met un lien sur la partie qui clickable qui permettera d'afficher le résultat. EN mettant dans l'url l'id de la ligne correpondante.

    ENsuite lorsque la page se rafraichi j'affiche le tableaux secondaire pour l'id récupérer.

    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
    echo '
    <table>
       <tr id="1">
             <td>
                     <a href="?id=1">Click</a>
             </td>
             
       </tr>
    ';
       if&#40;$_GET&#91;'id'&#93;=1&#41;
       &#123;
               echo '<tr><td><table>...</table></td></tr>';
       &#125;
       echo '
       <tr id="2">
            <td>
                     <a href="?id=1">Click</a>
            </td>
       </tr>
    ';
       if&#40;$_GET&#91;'id'&#93;=2&#41;
       &#123;
               echo '<tr><td><table>...</table></td></tr>';
       &#125;
       echo '
    </table>
    ';
    Je viens de faire ca vite fais sans tester mais en gros c'est le principe. Apres il faut adapter a ton tableau pour les tableaux imbriqué (colspan ...).

    Et tu peut synthétiser tout ca en une seul boucle. Ca marche bien mais c'est beaucoup plus lourd qu'avec l'AJAX. L'avantage c'est que ca marche sans javascript. C'est cette methode que j'ai mise sur ma page pour les personnes qui refusent JS.

  9. #9
    Membre confirmé
    Avatar de ilood
    Inscrit en
    Mars 2005
    Messages
    468
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 468
    Points : 529
    Points
    529
    Par défaut
    Euh il y a pas une petite coquille dans le code ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if&#40;$_GET&#91;'id'&#93;=2&#41;
    Je pencherai plus pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if&#40;$_GET&#91;'id'&#93; == 2&#41;

  10. #10
    Membre éclairé Avatar de Death83
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 667
    Points : 878
    Points
    878
    Par défaut
    Citation Envoyé par ilood
    Euh il y a pas une petite coquille dans le code ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if&#40;$_GET&#91;'id'&#93;=2&#41;
    Je pencherai plus pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if&#40;$_GET&#91;'id'&#93; == 2&#41;
    Oui en effet, j'ai fait ca pendant mes 15 minutes de pauses entre 2 cours .

Discussions similaires

  1. Excel probleme pour faire apparaitre/disparaitre ligne
    Par Alex.d dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/07/2011, 16h59
  2. Réponses: 5
    Dernier message: 09/09/2010, 17h39
  3. Réponses: 2
    Dernier message: 22/04/2010, 11h13
  4. Comment faire apparaitre puis cacher un textre???
    Par Leimi dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 02/06/2005, 10h07
  5. Comment faire un retour ligne entre des " ??
    Par DrTank dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 09/05/2005, 09h35

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