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 :

Surligner la valeur maximale dans un tableau


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 68
    Par défaut Surligner la valeur maximale dans un tableau
    Salut la communauté,

    Je développe une API en PHP, qui me retourne (entre autre), un tableau html comme suivant :



    Je ne connais pas le JS, enfin, très peu ..

    Ce que je voulais faire est je pense assez simple:

    Pour CHAQUE LIGNE de mon tableau je voulais surligner la plus grande valeur en rouge par exemple .

    Je pense que ça doit être réalisable asset facilement, avec peut etre la fonction math.max

    Mais comme je ne connais pas du tout, j'aurais aimé un petit coup de main ..

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Va falloir préciser la demande ..;
    tableau = ??? balise table html ???

    si oui en deux lignes de jquery c'est réglé ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2012
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2012
    Messages : 82
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    si oui en deux lignes de jquery c'est réglé ...
    T'es un peu optimiste...

    Après ça reste très très simple de comparer les valeurs dans tes lignes puis de changer le background de la case qui a la valeur la plus élevée.

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 68
    Par défaut
    oui c'est un boucle while en php qui fait une balise <table> html

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Optimiste ??
    non je donne d'abord la version js pur ...
    un peu plus longue et je prépare la version jquery en deux lignes
    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
    48
    49
    50
    51
    52
    53
    54
     
    <script type="text/javascript">
    function init(){
    lignes = document.getElementById('foo').getElementsByTagName('tr');
    tabval= new Array();
    ll=lignes.length;
    for (ligne=0; ligne<ll;ligne++){ 
       cellules=lignes[ligne].getElementsByTagName('td');
       cl=cellules.length
       tabval[ligne]=new Array();
       for(i=0;i<cl;i++){
          tabval[ligne].push(cellules[i].innerHTML*1);
       }
       tabval[ligne]=tabval[ligne].sort().reverse();
       tabval[ligne]=tabval[ligne][0];
       for(i=0;i<cl;i++){
       		if(cellules[i].innerHTML*1==tabval[ligne]){
       			cellules[i].style.backgroundColor="yellow";
       		}
    	}
     
    }
    }
     
    </script>
    </head>
     
    <body onload="init()">
    <table id="foo">
    	<tr>
    		<td>2</td>
    		<td>5</td>
    		<td>8</td>
    		<td>9</td>
    	</tr>	
    	<tr>
    		<td>2</td>
    		<td>5</td>
    		<td>8</td>
    		<td>7</td>
    	</tr>
    	<tr>
    		<td>3</td>
    		<td>9</td>
    		<td>5</td>
    		<td>4</td>
    	</tr>
    	<tr>
    		<td>9</td>
    		<td>5</td>
    		<td>7</td>
    		<td>3</td>
    	</tr>
    </table>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    La version JQUERY
    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
    <table id="foo">
        <tr>
            <td>2</td>
            <td>5</td>
            <td>8</td>
            <td>9</td>
        </tr>    
        <tr>
            <td>2</td>
            <td>5</td>
            <td>8</td>
            <td>7</td>
        </tr>
        <tr>
            <td>3</td>
            <td>9</td>
            <td>5</td>
            <td>4</td>
        </tr>
        <tr>
            <td>9</td>
            <td>5</td>
            <td>7</td>
            <td>3</td>
        </tr>
    </table>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $('tr').each(function() {var lignes = $(this).children('td'),max = null, maxIndex = null;
     lignes.each(function() {var value = +$(this).text()*1;if(!isNaN(value)) {if(!max||value>max){max=value;maxIndex=$(this).index();}}});if(maxIndex!== null){lignes.eq(maxIndex).css('color','red');}})
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 68
    Par défaut
    Merci beaucoup !!! je vais implémenter ça dans mon code

  8. #8
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 68
    Par défaut
    Le truc c'est que dans la version en JS le nombre de ligne max du tableau est spécifié dans la boucle, alors que mon tableau html à moi est généré par php il est donc amené à grandir dynamiquement chaque jour

    Voici mon code :

    Code html : 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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    <TABLE id="foo" class="selection" align="center" cellspacing="0" cellpadding="2" border="0">
    <TR bgcolor="#C4CAD0">
    <TD width="200" align="center" valign="middle" height="13">Date</TD>
    <TD width="100" align="center" valign="middle" height="13">7h</TD>
    <TD width="100" align="center" valign="middle" height="13">8h</TD>
    <TD width="100" align="center" valign="middle" height="13">9h</TD>
    <TD width="100" align="center" valign="middle" height="13">10h</TD>
    <TD width="100" align="center" valign="middle" height="13">11h</TD>
    <TD width="100" align="center" valign="middle" height="13">12h</TD>
    <TD width="100" align="center" valign="middle" height="13">13h</TD>
    <TD width="100" align="center" valign="middle" height="13">14h</TD>
    <TD width="100" align="center" valign="middle" height="13">15h</TD>
    <TD width="100" align="center" valign="middle" height="13">16h</TD>
    <TD width="100" align="center" valign="middle" height="13">17h</TD>
    <TD width="100" align="center" valign="middle" height="13">18h</TD>
    <TD width="100" align="center" valign="middle" height="13">19h</TD>
    <TD width="100" align="center" valign="middle" height="13">20h</TD>
    <TD width="100" align="center" valign="middle" height="13">21h</TD>
    <TD width="100" align="center" valign="middle" height="13">Moyenne vent</TD>  
    </TR>
    <TR bgcolor="#C4CAD0">
    <TD width="200" align="center" valign="middle" height="13"><img src="css/top.png" border="0" alt="Décroissant" onclick="RangeTableau(-2)"><img src="css/bot.png" border="0" alt="Croissant" onclick="RangeTableau(2)"></TD>
    <TD width="100" align="center" valign="middle" height="13"><img src="css/top.png" border="0" alt="Décroissant" onclick="RangeTableau(-3)"><img src="css/bot.png" border="0" alt="Croissant" onclick="RangeTableau(3)"></TD>
    <TD width="100" align="center" valign="middle" height="13"><img src="css/top.png" border="0" alt="Décroissant" onclick="RangeTableau(-4)"><img src="css/bot.png" border="0" alt="Croissant" onclick="RangeTableau(4)"></TD>
    <TD width="100" align="center" valign="middle" height="13"><img src="css/top.png" border="0" alt="Décroissant" onclick="RangeTableau(-4)"><img src="css/bot.png" border="0" alt="Croissant" onclick="RangeTableau(4)"></TD>
    <TD width="100" align="center" valign="middle" height="13"><img src="css/top.png" border="0" alt="Décroissant" onclick="RangeTableau(-4)"><img src="css/bot.png" border="0" alt="Croissant" onclick="RangeTableau(4)"></TD>
    <TD width="100" align="center" valign="middle" height="13"><img src="css/top.png" border="0" alt="Décroissant" onclick="RangeTableau(-4)"><img src="css/bot.png" border="0" alt="Croissant" onclick="RangeTableau(4)"></TD>
    <TD width="100" align="center" valign="middle" height="13"><img src="css/top.png" border="0" alt="Décroissant" onclick="RangeTableau(-4)"><img src="css/bot.png" border="0" alt="Croissant" onclick="RangeTableau(4)"></TD>
    <TD width="100" align="center" valign="middle" height="13"><img src="css/top.png" border="0" alt="Décroissant" onclick="RangeTableau(-4)"><img src="css/bot.png" border="0" alt="Croissant" onclick="RangeTableau(4)"></TD>
    <TD width="100" align="center" valign="middle" height="13"><img src="css/top.png" border="0" alt="Décroissant" onclick="RangeTableau(-4)"><img src="css/bot.png" border="0" alt="Croissant" onclick="RangeTableau(4)"></TD>
    <TD width="100" align="center" valign="middle" height="13"><img src="css/top.png" border="0" alt="Décroissant" onclick="RangeTableau(-4)"><img src="css/bot.png" border="0" alt="Croissant" onclick="RangeTableau(4)"></TD>
    <TD width="100" align="center" valign="middle" height="13"><img src="css/top.png" border="0" alt="Décroissant" onclick="RangeTableau(-4)"><img src="css/bot.png" border="0" alt="Croissant" onclick="RangeTableau(4)"></TD>
    <TD width="100" align="center" valign="middle" height="13"><img src="css/top.png" border="0" alt="Décroissant" onclick="RangeTableau(-4)"><img src="css/bot.png" border="0" alt="Croissant" onclick="RangeTableau(4)"></TD>
    <TD width="100" align="center" valign="middle" height="13"><img src="css/top.png" border="0" alt="Décroissant" onclick="RangeTableau(-4)"><img src="css/bot.png" border="0" alt="Croissant" onclick="RangeTableau(4)"></TD>
    <TD width="100" align="center" valign="middle" height="13"><img src="css/top.png" border="0" alt="Décroissant" onclick="RangeTableau(-4)"><img src="css/bot.png" border="0" alt="Croissant" onclick="RangeTableau(4)"></TD>
    <TD width="100" align="center" valign="middle" height="13"><img src="css/top.png" border="0" alt="Décroissant" onclick="RangeTableau(-4)"><img src="css/bot.png" border="0" alt="Croissant" onclick="RangeTableau(4)"></TD>
    <TD width="100" align="center" valign="middle" height="13"><img src="css/top.png" border="0" alt="Décroissant" onclick="RangeTableau(-4)"><img src="css/bot.png" border="0" alt="Croissant" onclick="RangeTableau(4)"></TD>
    <TD width="100" align="center" valign="middle" height="13"><img src="css/top.png" border="0" alt="Décroissant" onclick="RangeTableau(-4)"><img src="css/bot.png" border="0" alt="Croissant" onclick="RangeTableau(4)"></TD>  
      </TR>
     
     
      <?php
    include ('connect.php') ;
    if (isset($_POST['lespot'])) {
      $lespot=  $_POST['lespot'] ;
      $query1 = "SELECT * FROM $lespot ORDER BY date DESC";
      $result1 = mysql_query ($query1) or die ('erreur SELECT SQL !');
      $force ="";
       while ($row = mysql_fetch_array($result1)) {
         $max= max($row[vit_7h],$row[vit_8h],$row[vit_9h],$row[vit_10h],$row[vit_11h],$row[vit_12h],$row[vit_13h],$row[vit_14h],$row[vit_15h],$row[vit_16h],$row[vit_17h],$row[vit_18h],$row[vit_19h],$row[vit_20h],$row[vit_21h]);
         echo "<TR BGCOLOR=#EEEEEE><TD align=\"center\">$row[date]</TD><TD align=\"center\">$row[vit_7h]</TD><TD align=\"center\">$row[vit_8h]</TD><TD align=\"center\">$row[vit_9h]</TD><TD align=\"center\">$row[vit_10h]</TD><TD align=\"center\">$row[vit_11h]</TD><TD align=\"center\">$row[vit_12h]</TD><TD align=\"center\">$row[vit_13h]</TD><TD align=\"center\">$row[vit_14h]</TD><TD align=\"center\">$row[vit_15h]</TD><TD align=\"center\">$row[vit_16h]</TD><TD align=\"center\">$row[vit_17h]</TD><TD align=\"center\">$row[vit_18h]</TD><TD align=\"center\">$row[vit_19h]</TD><TD align=\"center\">$row[vit_20h]</TD><TD align=\"center\">$row[vit_21h]</TD><TD class=\"jaune\" align=\"center\">$row[moyenne]</TD></TR>" ;
       }
     
    }  
    ?>
    </TABLE >

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    et ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  10. #10
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 68
    Par défaut
    Et ça ne marche pas, sans que je comprenne pourquoi .

    sorry

  11. #11
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    regarde bien ce que contiennent tes cellules ...
    du numérique ou de l'alpha numerique ?

    =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(parseInt(cellules[i].innerHTML,10)==tabval[ligne]){
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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

Discussions similaires

  1. [MySQL] Valeur maximale dans un tableau
    Par docteurdorian dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 10/05/2009, 01h58
  2. [Tableaux] Valeur unique dans un tableau
    Par glsn dans le forum Langage
    Réponses: 6
    Dernier message: 06/12/2006, 11h18
  3. recherche de valeur identique dans un tableau
    Par jean tof dans le forum Langage
    Réponses: 9
    Dernier message: 20/06/2006, 13h33
  4. 2 valeurs distincts dans un tableau à 2 dimensions...
    Par toyyo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/08/2005, 16h00
  5. Valeur maximale d'un tableau
    Par Yana dans le forum Langage
    Réponses: 4
    Dernier message: 20/06/2003, 15h21

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