Bonjour , j'ai un code qui permet d'exécuter plusieurs traitements à la fois (snmp, stockage dans la bd...) tout marche très bien sauf dans une partie ou j'ai un problème que je n'arrive pas à résoudre .ma table contient les champs suivants : un id , une date (datetime) , une clé étrangère (id_interface) , un etat d'une interface (up...), etat du trafic (normal , anormal..) et valeur est un entier contenant une valeur d'une bande passante.Le code que j'ai copié parcourt la table , et compare la valeur actuelle à celles des 7 derniers jours si elle est anormale il affiche une seule ligne (la premiére partie du script le premier if) sinon (le else il affiche toujours une seule ligne mais avec une couleur différente) le problème c'est qu'avec le if tout va bien mais avec le else le nombre de lignes affichées et égal à celui du résultat du while 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
 
 
$result4 = mysql_query("SELECT valeur, HOUR(date)as heure, MINUTE(date) as minute, etat_trafic, logs_trafic.id_interface, date FROM logs_trafic WHERE logs_trafic.id_interface = '$ligne[6]' AND date BETWEEN date(now() - INTERVAL 7 DAY) AND now()");
 while ($ligne1 = mysql_fetch_array($result4)) {
 if (($date1 == $ligne1[1]) && ($date2 == $ligne1[2]) && ($ligne1[3] == 'normal') )
 {
 if ((($d > $ligne1[0] + $vcomparaison) || ($d < $ligne1[0] - $vcomparaison)))
 {
 
 echo "<tr style='font-size:small;padding:5px;vertical-align:top;#000000;background-color:#FFFFFF';color:black;><td><b>$ligne[2] <font color=\"chartreuse\">$e</font> </b></td><td style='font-size:small;padding:5px;vertical-align:top;#000000;border-right: 1px solid black;background-color:#FFFFFF';color:black;></td><td><font color=\"red\">$d</font> Mo/s</b></td></tr></br>";
 
$result8 = mysql_query("INSERT INTO logs_trafic (id_logs, date, id_interface, etat_interface, etat_trafic, valeur) VALUES ('', '$date', '$ligne[6]', 'Up', 'anormal', '$d')");
 }
 }
 else if (($date1 != $ligne1[1]) AND ($date2 != $ligne1[2]))
 {
   echo "<tr style='font-size:small;padding:5px;vertical-align:top;#000000;background-color:#FFFFFF';color:black;><td><b>$ligne[2] <font color=\"chartreuse\">$e</font> </b></td><td style='font-size:small;padding:5px;vertical-align:top;#000000;border-right: 1px solid black;background-color:#FFFFFF';color:black;></td><td><font color=\"chartreuse\">$d</font> Mo/s</b></td></tr></br>";
$result7 = mysql_query("INSERT INTO logs_trafic (id_logs, date, id_interface, etat_interface, etat_trafic, valeur) VALUES ('', '$date', '$ligne[6]', 'Up', 'normal', '$d')");
 
 }
}