Maison  >  Questions et réponses  >  le corps du texte

Changer dynamiquement la couleur d'arrière-plan HTML TD en fonction de la valeur à l'aide de PHP

J'essaie de changer dynamiquement la couleur d'arrière-plan du TD, mais cela me rend fou car je ne sais pas vraiment comment corriger le code.

Voici mon code :

<td data-column="% Over 0.5 SH" style="background-color: <?php echo $backgroundColorOver05SH; ?>">
<?php 
if (($row['TotalMatch']) > 9){ 
$percover05sh = $row['OK_05sh'] / $row['TotalMatch'] * 100; 
echo sprintf("%.2f", $percover05sh);


if ($percover05sh > 80){
    $backgroundColorOver05SH = "green";
} elseif ($percover05sh >= 70 and $percover05sh <= 79.99  ){
    $backgroundColorOver05SH = "yellow";
} else {
    $backgroundColorOver05SH = "red";
}

Je pense que je suis dans la bonne direction, mais je n'arrive pas à trouver la bonne solution. Aucune suggestion? Merci!

EDIT : Ce code fonctionne désormais ! Voici mon code complet :

<?php 
if (($row['TotalMatch']) > 9){ 
$percover05sh = $row['OK_05sh'] / $row['TotalMatch'] * 100; 

if ($percover05sh >= 80){
    $backgroundColorOver05SH = "green";
} elseif ($percover05sh >= 70 && $percover05sh < 80  ){
    $backgroundColorOver05SH = "yellow";
} else {
    $backgroundColorOver05SH = "red";
}

}else{
echo 'No Bet';
}     ?>
<td data-column="% Over 0.5 SH" style="background-color: <?php echo $backgroundColorOver05SH;?>;">
<?php
echo sprintf("%.2f", $percover05sh);    
?>
</td>

P粉295728625P粉295728625175 Il y a quelques jours266

répondre à tous(2)je répondrai

  • P粉908643611

    P粉9086436112024-04-01 00:23:43

    En plus de changer l'ordre dans le code (comme écrit dans les commentaires de la question), j'ajouterais également un point-virgule après la valeur de couleur d'arrière-plan reprise par PHP dans l'attribut style, qui est

    répondre
    0
  • P粉938936304

    P粉9389363042024-04-01 00:13:34

    Alors d'abord :

     
     9){ 
    $percover05sh = $row['OK_05sh'] / $row['TotalMatch'] * 100; 
    echo sprintf("%.2f", $percover05sh);
    
    
    if ($percover05sh > 80){
        $backgroundColorOver05SH = "green";
    } elseif ($percover05sh >= 70 && $percover05sh < 80  ){
        $backgroundColorOver05SH = "yellow";
    } else {
        $backgroundColorOver05SH = "red";
    }
    ?>
    
     9){ 
    */
    }
    ?>
    

    Si la couleur ne change pas, peut-être est-elle définie par une règle ou un script CSS différent ?

    répondre
    0
  • Annulerrépondre