Tableau : couleur du texte

Résolu
Florence75 -  
 ReDLoG -
Bonjour à tous,

Dans mon tableau, je recherche la solution pour changer la couleur de `etat_diag' en fonction de son contenu : si `etat_diag' == non alors `non' passe en rouge.

Merci pour les infos.

<?php
// si on a récupéré un résultat on l'affiche.
if($total) {
    // debut du tableau
    echo '<table bgcolor="#FFFFFF">'."\n";
        // première ligne on affiche les titres 
        echo '<tr>';
        echo '<td align="center" bgcolor="#669999"><b>Désignation</b></td>';
		echo '<td align="center" bgcolor="#669999"><b>Date de création</b></td>';
		echo '<td align="center" bgcolor="#669999"><b>Etat</b></td>';
		echo '<td align="center" bgcolor="#669999"><b>Date d\'échéance</b></td>';
		echo '</tr>'."\n";
    // lecture et affichage des résultats sur 4 colonnes, 1 résultat par ligne.    
    while($data = mysql_fetch_array($result)) {

// formatage de la date et de l'heure
	$objDate_crea = New DateTime($data["date_crea"]);
	$objDate_ech = New DateTime($data["date_echeance"]);

 
        echo '<tr>';
        echo '<td align="center" bgcolor="#CCCCCC"><a href="diagnostic_detail.php?id_diagnostic='.$data['id'].'">'.$data["designation_diag"].'</td>';
		echo '<td align="center" bgcolor="#CCCCCC">'.$date_crea = $objDate_crea->format('d/m/Y').'</td>';
		echo '<td align="center" bgcolor="#CCCCCC">'.$data["etat_diag"].'</td>';
		echo '<td align="center" bgcolor="#CCCCCC">'.$date_echeance = $objDate_ech->format('d/m/Y').'</td>';
		echo '</tr>'."\n";
    }
    echo '</table>'."\n";
    // fin du tableau.
}
else echo '';

// on libère le résultat
mysql_free_result($result);

?> 

4 réponses

  1. ReDLoG
     
    Bonsoir,
    Tu as répondu toi-même à ton interrogation avec ceci => si 'etat_diag' == non alors 'non' passe en rouge :
    if($data['etat_diag'] == 'non') {
         echo 'bgcolor="#FF0000"';
    } else {
         echo 'bgcolor="#CCCCCC"';
    }
    1
  2. Florence75
     
    Merci ReDLoG

    Je ne vois pas à quel endroit insérer dans mon script ta solution et c'est le texte (pas le fond) que je souhaite en rouge.

    Merci de ton aide, je ne suis pas une pro du php (comme tu peux le voir...) ;-)
    1
    1. ReDLoG
       
      A toi d'apprendre où le placer, sinon tu seras condamnée à fréquenter les forums tel que celui-ci dès que tu aura la nécessité d'apporter une modification à ton ou tes scripts :
      if($data['etat_diag'] == 'non') {
           echo '<span style="color: #FF0000;">'.$data["etat_diag"].'</span>';
      } else {
           echo $data["etat_diag"];
      }
      0
  3. Florence75
     
    ReDLoG,
    Ok, message reçu, tu as raison...

    Je me penche sur le problème demain soir et je reviendrai avec la solution. Merci encore et bonne soirée.
    0
  4. Florence75
     
    Bonjour à tous,
    Voilà, j'ai résolu mon problème et ça fonctionne...
    Merci encore à ReDLoG pour son aide.

    ReDLoG il y avait une autre solution ?

    echo '<tr>';
            echo '<td align="center" bgcolor="#CCCCCC"><a href="diagnostic_detail.php?id_diagnostic='.$data['id'].'">'.$data["designation_diag"].'</td>';
    		echo '<td align="center" bgcolor="#CCCCCC">'.$date_crea = $objDate_crea->format('d/m/Y').'</td>';
    		
    if($data['etat_diag'] == 'non') {
            echo '<td align="center" bgcolor="#CCCCCC" style="color: #FF0000;"><strong>'.$data["etat_diag"].'</strong></td>';
    } else {
            echo '<td align="center" bgcolor="#CCCCCC"><strong>'.$data["etat_diag"].'</strong></td>';
    }
    
    		echo '<td align="center" bgcolor="#CCCCCC">'.$date_echeance = $objDate_ech->format('d/m/Y').'</td>';
    		echo '</tr>'."\n";
        }
        echo '</table>'."\n";
        // fin du tableau.
    }
    else echo '';
    0
    1. ReDLoG
       
      Des solutions il y en a, il suffit d'aller jusqu'au bout de la logique :
      if($data['etat_diag'] == 'non') {
              echo '<td style="font-weight: bold; color: #FF0000; text-align: center; background-color: #CCCCCC;">'.$data["etat_diag"].'</td>';
      } else {
              echo '<td style="font-weight: bold; text-align: center; background-color: #CCCCCC;">'.$data["etat_diag"].'</td>';
      }

      Ainsi la sémantique CSS est sauve... ;-)
      0