Masquer/démasquer une colonne

pedatic Messages postés 80 Statut Membre -  
megataz Messages postés 39 Statut Membre -
Bonjour,
J'ai affiché dans un tableau le contenu d'une table "formation" de ma base de données, j'ai affiché le nom de la formation et j'ai masqué les autres informations conçernant le détail de chaque formation en utilisant un lien html pour masqué/démasqué.
Le problème c'est quand je clique sur un lien conçernant une seule formation il m'affiche les informations des autres formations.
Si quelqu'un peut m'aider pour résoudre ce problème.
Merci d'avance.
A voir également:

5 réponses

megataz Messages postés 39 Statut Membre 4
 
Bonjour,
En cliquant sur un bouton en fait, il faudrait que tu affiches tous les détails de la formation sélectionnée et pas les autres. C'est bien ca?
0
pedatic Messages postés 80 Statut Membre 4
 
oui effectivement.
0
megataz Messages postés 39 Statut Membre 4
 
tu trouveras ce code javascript dans: http://www.editeurjavascript.com/

A mettre dans entre <head> et </head>
<style>
.cachediv {
visibility: hidden;
overflow: hidden;
height: 1px;
margin-top: -1px;
position: absolute;
top: 406px;
}
</style>
<!-- Script créé par KevBrok ;-) -->
<script type="text/javascript">
/*
* Montre / Cache un div
*/
function DivStatus( nom, numero )
{
var divID = nom + numero;
if ( document.getElementById && document.getElementById( divID ) ) // Pour les navigateurs récents
{
Pdiv = document.getElementById( divID );
PcH = true;
}
else if ( document.all && document.all[ divID ] ) // Pour les veilles versions
{
Pdiv = document.all[ divID ];
PcH = true;
}
else if ( document.layers && document.layers[ divID ] ) // Pour les très veilles versions
{
Pdiv = document.layers[ divID ];
PcH = true;
}
else
{
PcH = false;
}
if ( PcH )
{
Pdiv.className = ( Pdiv.className == 'cachediv' ) ? '' : 'cachediv';
}
}
</script>

Dans la partie BODY:

Texte visible
<div name="mondiv1" id="mondiv1" class="cachediv">
Texte caché
<a href="javascript:DivStatus( 'mondiv', '1' )"><img src="image_du_bouton"></a></P>

ensuite, tu remplaces les 1 par 2, 3, 4 etc selon le nombre de formation que tu as
J'espère avoir répondu a ta demande.
Voici un exemple de ce que ca donne : http://www.arpete.com/faq/
0
pedatic Messages postés 80 Statut Membre 4
 
Bonjour
Je l'ai essayé avec une seule formation et çà à marché mais j'ai un petit problème :
pour afficher le contenu d'une table qui appartient à une base de données j'ai suivi ces étapes :
connexion à la base de données
$reponse = mysql_query('SELECT * FROM formations');
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<tr >
<td >
<?php echo $donnees['formation']; ?>
</td>
<td>
<a href="javascript:DivStatus( 'mondiv', '1' )">Plus de detail</a>
</td>

<td name="mondiv1" id="mondiv1" class="cachediv">
<?php echo $donnees['description']; ?>
</td>

</tr>
<?
}
mysql_close();
?>
où j'ai intégré à l'interieur de la boucle le lien qui me permet de masquer ou démasquer les informations conçerant chaque formation mais çà n'a pas marché.
Auriez vous une solution à ce problème .
Merci d'avance.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
megataz Messages postés 39 Statut Membre 4
 
Essaye plutôt comme ca :

$reponse = mysql_query('SELECT * FROM formations');
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<tr >
<td >
<?php echo $donnees['formation']; ?>
</td>
<td name="mondiv1" id="mondiv1" class="cachediv">
<?php echo $donnees['description']; ?>
<a href="javascript:DivStatus( 'mondiv', '1' )">Plus de detail</a>
</td>

</tr>
<?
}
mysql_close();
?>

En fait tu as inversé les commandes (enfin, il me semble). Et garde la commande pour montrer/cacher ensemble, ne les change pas de cellule de tableau. Par contre, vu que ut as un tableau, ca implique qu'il faut que tes cellules se dimensionnent automatiquement en fonction du texte caché ou pas.
Tiens moi au courant si ca fonctionne
0