Operateur logique ne fonctionne pas

Fermé
jawadov11 Messages postés 40 Date d'inscription lundi 27 mai 2019 Statut Membre Dernière intervention 6 juin 2020 - Modifié le 28 mai 2019 à 12:39
jordane45 Messages postés 38037 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 février 2024 - 28 mai 2019 à 18:02
Bonjour, voici mon code il donne la couleur just via date_peremption et pas via le stock comme si il passe pas via le or

**Modifié par la modération pour une lecture plus facile du code, à l'avenir utilisez les balises, VOIR CETTE PAGE
<?php 
$date_peremption=""; 
while($row = $result->fetch_assoc()): ?> 
<tr <?php 
if((strtotime($row['date_peremption'] < strtotime(date('Y-m-d'))or((int)$row['stock_urgence']=0)) // red 
{ 
echo "<td style='background-color: #f09d8e;'>" ; 
} 
else if(strtotime($row['date_peremption']) >= strtotime(date('Y-m-d'))or(int)$row['stock_urgence']>=0)// green or yellow 
{ 
$dif=""; 
$now = time(); // or your date as well 
$your_date = strtotime($row['date_peremption']); 
$datediff = $your_date-$now ; 
$dif=$datediff / (60 * 60 * 24); 
echo round($dif); 
if ((round($dif)>=40)or((int)$row['etat_stock']=0)and(int)$row['stock_urgence']>0){ 
echo "<td style='background-color: #cde8bc;'>" ; 
} 
else // yellow 
{ 
echo "<td style='background-color: #eee7b9;'>"; 
} 
}?>

3 réponses

jordane45 Messages postés 38037 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 février 2024 4 621
28 mai 2019 à 13:28
Bonjour
La comparaison se fait fait avec deux =

1
jawadov11 Messages postés 40 Date d'inscription lundi 27 mai 2019 Statut Membre Dernière intervention 6 juin 2020
Modifié le 28 mai 2019 à 13:42
merci mais toujours meme problem
0
jawadov11 Messages postés 40 Date d'inscription lundi 27 mai 2019 Statut Membre Dernière intervention 6 juin 2020
Modifié le 28 mai 2019 à 15:10
meme probleme
 <?php
            $date_peremption="";
            while($row = $result->fetch_assoc()): ?>
                <tr <?php
                if((strtotime($row['date_peremption']) < strtotime(date('Y-m-d')))||((int)$row['stock_urgence']==0)) //  green
    {
        echo "<td style='background-color: #f09d8e;'>" ;
    }
    else if(strtotime($row['date_peremption']) >= strtotime(date('Y-m-d'))||(int)$row['stock_urgence']>=0)//  red
    {
        $dif="";
        $now = time(); // or your date as well
        $your_date = strtotime($row['date_peremption']);
        $datediff = $your_date-$now ;
        $dif=$datediff / (60 * 60 * 24);
        echo round($dif);
        if ((round($dif)>=40)||((int)$row['etat_stock']==0)&&(int)$row['stock_urgence']>0){
        echo "<td style='background-color: #cde8bc;'>" ;
         }
    else  //  yellow
    {
        echo "<td style='background-color: #eee7b9;'>";
    }
    }?>




EDIT, : Modifié par la modération pour une lecture plus facile du code, à l'avenir utilisez les balises, VOIR CETTE PAGE : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
0
jordane45 Messages postés 38037 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 février 2024 4 621
28 mai 2019 à 18:02
<?php
$date_peremption="";
while($row = $result->fetch_assoc()): ?>
    <tr 
    <?php
    $date_peremption = !empty($row['date_peremption']) ? strtotime($row['date_peremption']) : NULL;
    $now = strtotime(date('Y-m-d'));
    $stock_urgence = !empty($row['stock_urgence']) ? intval($row['stock_urgence']) : 0;
    $etat_stock = !empty($row['etat_stock']) ? intval($row['etat_stock']) : 0;
     
     
    if( $date_peremption< $now || $stock_urgence ==0){
      //  green
      echo "<td style='background-color: #f09d8e;'>" ;
    }elseif( $date_peremption >= $now||$stock_urgence>=0) {
      //  red
      $dif="";
      $nowTime = time(); // or your date as well
      $your_date = !empty($row['date_peremption']) ? strtotime($row['date_peremption']) : 0;
      $datediff = $your_date-$nowTime ;
      $dif=$datediff / (60 * 60 * 24);
      echo round($dif);
      //----------------------------
      //le temps des tests ....
      echo "<br>".$etat_stock;
      echo "<br>".$stock_urgence;
      //----------------------------
      if ( (round($dif)>=40 ||  $etat_stock==0 ) && $stock_urgence>0){
        echo "<td style='background-color: #cde8bc;'>" ;
      } else {
        //  yellow
        echo "<td style='background-color: #eee7b9;'>";
      }
    }
    ?>


NB: Merci de poster ton code correctement à l'avenir.
Tes messages ont déjà été édités deux fois...
0