Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Général Conception Web
Général Conception Web Forum d'entraide sur les choix technologiques. Avant de poster : Cours Dév. Web, FAQs Dév. Web, Sources Dév. Web
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/03/2006, 19h11   #1
Candidat au titre de Membre du Club
 
Inscription : mars 2006
Messages : 32
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 32
Points : 10
Points : 10
Envoyer un message via MSN à mathieu7497
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.
mathieu7497 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2006, 22h14   #2
Membre confirmé
 
Inscription : septembre 2004
Messages : 519
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 519
Points : 257
Points : 257
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
bibile est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2006, 00h12   #3
Membre chevronné
 
Avatar de Death83
 
Inscription : mars 2005
Messages : 1 667
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1 667
Points : 746
Points : 746
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.
__________________
manganimes (en construction) -
zemanga
Death83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2006, 19h59   #4
Candidat au titre de Membre du Club
 
Inscription : mars 2006
Messages : 32
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 32
Points : 10
Points : 10
Envoyer un message via MSN à mathieu7497
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.
mathieu7497 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2006, 21h49   #5
Membre éprouvé
 
Avatar de ilood
 
Inscription : mars 2005
Messages : 468
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 468
Points : 446
Points : 446
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 :
1
2
3
4
5
<script type="text/javascript">
function masque(id){
	document.getElementById(id).style.display = 'none';
}
</script>
Code :
1
2
3
4
5
6
7
8
9
10
<ul>
	<li onclick="javascript:masque('sous1');">Partie 1
	<ul id="sous1">
		<li>Sous 1
		<li>Sous 2
	</ul>
	</li>
	<li>Partie 1</li>
	<li>Partie 2</li>
</ul>
ilood est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2006, 21h51   #6
Membre chevronné
 
Avatar de Death83
 
Inscription : mars 2005
Messages : 1 667
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1 667
Points : 746
Points : 746
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.
__________________
manganimes (en construction) -
zemanga
Death83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2006, 22h34   #7
Candidat au titre de Membre du Club
 
Inscription : mars 2006
Messages : 32
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 32
Points : 10
Points : 10
Envoyer un message via MSN à mathieu7497
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.
mathieu7497 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2006, 11h16   #8
Membre chevronné
 
Avatar de Death83
 
Inscription : mars 2005
Messages : 1 667
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1 667
Points : 746
Points : 746
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 :
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($_GET['id']=1)
   {
           echo '<tr><td><table>...</table></td></tr>';
   }
   echo '
   <tr id="2">
        <td>
                 <a href="?id=1">Click</a>
        </td>
   </tr>
';
   if($_GET['id']=2)
   {
           echo '<tr><td><table>...</table></td></tr>';
   }
   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.
__________________
manganimes (en construction) -
zemanga
Death83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2006, 12h34   #9
Membre éprouvé
 
Avatar de ilood
 
Inscription : mars 2005
Messages : 468
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 468
Points : 446
Points : 446
Euh il y a pas une petite coquille dans le code ?
Je pencherai plus pour
ilood est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/03/2006, 23h39   #10
Membre chevronné
 
Avatar de Death83
 
Inscription : mars 2005
Messages : 1 667
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1 667
Points : 746
Points : 746
Citation:
Envoyé par ilood
Euh il y a pas une petite coquille dans le code ?
Je pencherai plus pour
Oui en effet, j'ai fait ca pendant mes 15 minutes de pauses entre 2 cours .
__________________
manganimes (en construction) -
zemanga
Death83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h57.


 
 
 
 
Partenaires

Hébergement Web