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

Fermé
bloomingdals Messages postés 74 Date d'inscription mercredi 20 février 2013 Statut Membre Dernière intervention 6 août 2013 - 9 mai 2013 à 09:50
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 - 10 mai 2013 à 15:05
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

A voir également:

3 réponses

Gigatrappeur Messages postés 226 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 3 juillet 2014 25
10 mai 2013 à 14:19
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
0
bloomingdals Messages postés 74 Date d'inscription mercredi 20 février 2013 Statut Membre Dernière intervention 6 août 2013 2
10 mai 2013 à 15:04
ok merci;
0
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
10 mai 2013 à 15:05
Salut !

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