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

JavaScript Discussion :

bouton + et - pour masquer et afficher un tableau (sql)


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 26
    Par défaut bouton + et - pour masquer et afficher un tableau (sql)
    Je sais qu'il est possible de faire avec javascript des petits boutons + et - pour afficher ou masquer une partie d'un texte d'un tableau ect...
    Le problème c'est que je ne sais pas comment faire. J'ai créé un fichier qu'on appellera fichier.php celui ci une fois sur le navigateur me renvoie ça :


    LIB----------------------MADATE--------------CODE-
    connect----------26/01/10 02:05:04--------------1-
    connect----------26/01/10 06:08:24--------------1-
    connect----------30/04/10 10:15:48--------------2-
    connect----------30/04/10 15:32:56--------------2-

    j'aimerais garder une seule date correspondant à une seule connexion d'un code d'utilisateur et mettre à coté un petit + pour que l'on puisse voire toutes les connexions de cet utilisateur. En gros je voudrais un tableau qui donne ça :

    LIB----------------------MADATE--------------CODE-
    connect----------26/01/10 02:05:04--------------1- (+)
    connect----------30/04/10 10:15:48--------------2- (+)

    Afin que le fichier soit moins lourds et plus facile à lire. Le problème c'est que je voit de nombreuses solutions sur le net des div des fonctions ect mais ne m'y connaissant pas trop en javascript je ne sais pas trop ou coller ces codes sur le code de fichier.php

    Voici des extraits de mon code :

    Code php : 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
    <?php 
    	$sql = 'SELECT MADATE,LIB,CODE  FROM HISTO WHERE CODE IS NOT NULL ORDER BY 
    CODE,MADATE DESC LIMIT 200';  
    	$actions = select_list($db,$sql);
     
    	print '<tr><td>HISTO </td></tr>';	
    	print '<tr>';					
    	print '<td>LIB </td>';	
    	print '<td>MADATE </td>';		
    	print '<td>CODE </td>';			
    	print '</tr>';
     
    	foreach ($actions as $val) 
    	{	
     
    		print '<tr>';						
    			print '<td>'.$val["LIB "].'</td>';		
    			print '<td>'.$val["MADATE "].'</td>';			
    			print '<td>'.$val["CODE "].'</LIB_IP>';	
    		print '</tr>';	
    	}		
     
    	print '</table>';
    ?>

    J'attends vos réponses merci d'avance

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 551
    Par défaut
    Citation Envoyé par melodide Voir le message
    Je sais qu'il est possible de faire avec javascript des petits boutons + et - pour afficher ou masquer une partie d'un texte d'un tableau ect...
    Le problème c'est que je ne sais pas comment faire. J'ai créé un fichier qu'on appellera fichier.php celui ci une fois sur le navigateur me renvoie ça :


    LIB----------------------MADATE--------------CODE-
    connect----------26/01/10 02:05:04--------------1-
    connect----------26/01/10 06:08:24--------------1-
    connect----------30/04/10 10:15:48--------------2-
    connect----------30/04/10 15:32:56--------------2-

    j'aimerais garder une seule date correspondant à une seule connexion d'un code d'utilisateur et mettre à coté un petit + pour que l'on puisse voire toutes les connexions de cet utilisateur. En gros je voudrais un tableau qui donne ça :

    LIB----------------------MADATE--------------CODE-
    connect----------26/01/10 02:05:04--------------1- (+)
    connect----------30/04/10 10:15:48--------------2- (+)

    Afin que le fichier soit moins lourds et plus facile à lire. Le problème c'est que je voit de nombreuses solutions sur le net des div des fonctions ect mais ne m'y connaissant pas trop en javascript je ne sais pas trop ou coller ces codes sur le code de fichier.php

    Voici des extraits de mon code :

    Code php : 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
    <?php 
    	$sql = 'SELECT MADATE,LIB,CODE  FROM HISTO WHERE CODE IS NOT NULL ORDER BY 
    CODE,MADATE DESC LIMIT 200';  
    	$actions = select_list($db,$sql);
     
    	print '<tr><td>HISTO </td></tr>';	
    	print '<tr>';					
    	print '<td>LIB </td>';	
    	print '<td>MADATE </td>';		
    	print '<td>CODE </td>';			
    	print '</tr>';
     
    	foreach ($actions as $val) 
    	{	
     
    		print '<tr>';						
    			print '<td>'.$val["LIB "].'</td>';		
    			print '<td>'.$val["MADATE "].'</td>';			
    			print '<td>'.$val["CODE "].'</LIB_IP>';	
    		print '</tr>';	
    	}		
     
    	print '</table>';
    ?>

    J'attends vos réponses merci d'avance

    Il faudrait mettre des identifiants id dans les TR, mettre les TR à none dans leur style/display par défaut pour ceux qui suivent un nouveau $val["CODE "] et faire une fonction qui lorsqu'on clique sur (+) mette le style des TR suivants à '': document.getElementById('TR_$code_$id').style.display = '' ;

    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
     
    $code = -1 ;
    $id = 0  ;
    foreach ($actions as $val) 
    	{
    if( ($code == -1) || ($code != $val["CODE "]) ) {
      $code = $val["CODE "] ;
      $display = "" ;
      $id = 0 ;
    } else {
      $id++ ;
      $display = "none" ;
    }
     
     
    		print '<tr id="TR_$code_$id" style="display:$display">';						
    			print '<td>'.$val["LIB "].'</td>';		
    			print '<td>'.$val["MADATE "].'</td>';			
    			print '<td>'.$val["CODE "].'</LIB_IP>';
    if($id == 0) {
                            print '<td onClick="DoPlus('.$val["CODE "].');">(+)</LIB_IP>';
    }	
    		print '</tr>';	
    	}
    La difficulté majeure va être de trouver en javascript tous les TR qui commencent par $code que tu envoie:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function DoPlus(CODE) {
     
      //  ....parcours des TR dans une boucle pour faire: 
      var i = 1 ;
      while(document.getElementById('TR_' + CODE + '_' + i) {
        document.getElementById('TR_' + CODE + '_' + i).style.display = "" ;
        i++ ;
      }
    }
    Pas testé, pas sur que ca marche

  3. #3
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 26
    Par défaut
    ok merci beaucoup je pense que sa va beaucoup m'aider mais le code de la fonction je le met ou??

  4. #4
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 26
    Par défaut
    en faite tout ces codes dans mon code je les met ou?? :s

  5. #5
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 26
    Par défaut
    J'ai éssayé de faire comme tu m'a dit mais sans collé la fonction forcément sa fonctionne pas sa me fait 1 tableau avec rien dedans et 2 + sur le coté. Mais quand je colle la fonction en haut de mon code je reçoit cette erreur :

    Parse error: syntax error, unexpected T_STRING in /home/yozik/www/html/melody/jvcom.php on line 11

    ou bien celle ci :


    Parse error: syntax error, unexpected '{' in /home/yozik/www/html/melody/jvcom.php on line 11

    voici mon code :

    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
    45
    46
    47
    <?php 
    	$sql = 'SELECT MADATE,LIB,CODE  FROM HISTO WHERE CODE IS NOT NULL ORDER BY 
    CODE,MADATE DESC LIMIT 200';  
    	$actions = select_list($db,$sql);
    	function DoPlus()
    	{
     		 //  ....parcours des TR dans une boucle pour faire: 
     		 $i = 1 ;
     		 while(document.getElementById('TR_' + CODE + '_' + $i)
    		 {	document.getElementById('TR_' + CODE + '_' + $i).style.display = "" ;
    			$i++ ;
    		 }	
    	}
    	print '<tr><td>HISTO </td></tr>';	
    	print '<tr>';					
    	print '<td>LIB </td>';	
    	print '<td>MADATE </td>';		
    	print '<td>CODE </td>';			
    	print '</tr>';
    	$code = -1 ;
    $id = 0  ;
    foreach ($actions as $val) 
    {
    if( ($code == -1) || ($code != $val["CODE "]) ) 
    {
      		$code = $val["CODE "] ;
      		$display = "" ;
      		$id = 0 ;
    } 
    Else
     {
      		$id++ ;
     		 $display = "none" ;
    }
    	print '<tr id="TR_$code_$id" style="display:$display">';					
    		print '<td>'.$val["LIB "].'</td>';		
    		print '<td>'.$val["MADATE "].'</td>';			
    		print '<td>'.$val["CODE "].'</LIB_IP>';
    if($id == 0) 
    {
                            print '<td onClick="DoPlus('.$val["CODE "].');">(+)</LIB_IP>';
    }	
    		print '</tr>';	
    }
     
    	print '</table>';
    ?>

Discussions similaires

  1. [XL-2010] SpinButton pour masquer et afficher des colonnes
    Par thomanneca dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/12/2013, 19h59
  2. Réponses: 2
    Dernier message: 24/09/2012, 16h40
  3. composant Grid pour afficher un tableau de données
    Par hammag dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 23/03/2007, 14h24
  4. Réponses: 9
    Dernier message: 17/02/2006, 11h04
  5. bouton image pour afficher du texte
    Par froggies dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 17/10/2005, 12h09

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