Problème pendant l'itération du résultat d'une requête SQL [Fermé]

Signaler
Messages postés
74
Date d'inscription
mercredi 20 février 2013
Statut
Membre
Dernière intervention
6 août 2013
-
jeremy.s
Messages postés
1227
Date d'inscription
lundi 28 mars 2011
Statut
Membre
Dernière intervention
2 septembre 2013
-
Bonjour,

j'ai une table SQL de cette forme
adresse IP      system       nombre de MAJ reçues
10.0.0.0         65030          54312
11.0.0.0         65050          45454
12.0.0.0         65050          785745
13.0.0.0         65050           6574

je veux connaitre le nombre de mise à jour total pour chaque système. j'ai écrit ce bout de code
mais le problème est qu'il me retourne le même résultat pour les deux système 65030 et 65050.

 <?php
                                 while ($donnees = mysql_fetch_array($as))
                                    { $peer_as = intval($donnees['Autonomous_System']);
                                      $as_list.= "'".$peer_as."',";
                                    }
                                  echo $as_list;
                                ?>
......


<?php
                                    mysql_data_seek($as, 0);
                                     while ($donnees = mysql_fetch_array($as))
                                    {  
                                       $in_updates_query = mysql_query("select IN_Updates from Bgp_Peers where Autonomous_System=".$peer_as."");
                                       $total_in_updates=0;
                                        while ($donnees2 = mysql_fetch_array($in_updates_query))
                                             {
                                                $in_updates=intval($donnees2['IN_Updates']);
                                                $total_in_updates= $total_in_updates + $in_updates;
                                             }         
                                         
                                        $received.= "".$total_in_updates.","; 
                                    }
                                  echo $received;                            
                                ?>


je n'arrive pas à localiser le problème.
pourriez vous m'aidez?
merci

Messages postés
226
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
3 juillet 2014
20
Bonjour,

A priori dans ta 2ième boucle, tu utilise la dernière valeur de $peer_as (récupéré dans ta 1ère boucle).

Remarque : tu devrais pouvoir parvenir au même résultat à l'aide d'un GROUP BY dans ta requête SQL.

Cordialement,
Gigatrappeur
Messages postés
74
Date d'inscription
mercredi 20 février 2013
Statut
Membre
Dernière intervention
6 août 2013
1
ok merci;
Messages postés
1227
Date d'inscription
lundi 28 mars 2011
Statut
Membre
Dernière intervention
2 septembre 2013
67
Salut !

Même remarque que Gigatrappeur : en une seule requete c'est faisable ;-)
Select system, sum(nb_maj) from table group by system