bonjour à tous,
aujourd'hui je but sur un truc débile,

je vais chercher des infos dans une bd que je stock dans un tableau

$pilote_mil=1;
$count=0;
$aircraft=array();
try{
                  $DBPDO = new PDO($dbdns1,$dbuser1 , $dbpass1,
                          array( PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
                  $DBPDO-> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
                  try{

                      /////////recherche des avions la table traker_mil__aircraft/////////
                      $sql = "SELECT aircraft, COUNT( pirepid ) AS count FROM tracker_mil_pireps WHERE `pilotid` =$pilote_mil GROUP BY `aircraft`ORDER BY aircraft";
                      $req = $DBPDO ->query($sql);
                      while($aircraftcount=$req->fetch(PDO::FETCH_OBJ)) 
                          {
                            $sql2 = "SELECT `fullname` FROM `tracker_mil_aircraft` WHERE `id`=$aircraftcount->aircraft ORDER BY `name` DESC";
                            $req2 = $DBPDO ->query($sql2);
                             while($aircraftinfo=$req2->fetch(PDO::FETCH_OBJ)) 
                              { 
                                if (array_key_exists($aircraftinfo->fullname,$aircraft))
                                  {
                                    echo "ancien<br>";
                                    $count=$aircraft$aircraftinfo->fullname]+1;
                                    $aircraft$aircraftinfo->fullname]=$count;
                                  }
                                else
                                  {
                                    echo "nouveau<br>";

                                    $aircraft$aircraftinfo->fullname]=1;
                                  }

                              }
                          }
                     }

            catch (PDOException $e) 
              {}
          }   
        catch (PDOException $e)
          {}

pour l’instant pas de soucis si je fais un var dump $aircraft j'obtient

array(6) { 
"McDonnell Douglas T-45A Goshawk"]=> int(1) 
"Eurocopter AS350-BA"]=> int(1) 
"F-4U Corsaire"]=> int(2) 
"A-10 Thunderbolt/Warthog"]=> int(1) 
"McDonnell Douglas F-15E Eagle"]=> int(1) 
"Grumman F-14"]=> int(1) }

le soucis est là,je souhaiterai faire ceci

echo $aircraft[0];

et qu'il me réponde McDonnell Douglas T-45A Goshawk

l'entier après sera utilisé si j'obtient ce que j'attend de cet echo en faisant

echo $aircraft[McDonnell Douglas T-45A Goshawk];

et j'ai absolument besoin que celà soit par un <u>echo</u>

si quelqu'un avait une idée?

merci d'avance Flo

2 réponses


Tu peux toujours faire ça:
Une boucle qui va boucler sur aircraftinfo:

foreach($aircraftinfo as $info){
    $aircraft] = $info->fullname;
}

Le tableau $aircraft sera ainsi bien constitué.
Sinon tu rempalces à cette ligne:

$aircraft$aircraftinfo->fullname]=1;

Par:

$aircraft]= array($aircraftinfo->fullname => 1);

Mais tu ne pourras toujours pas d'echo puis ce qui sera contenu dans $aircraft[0] sera un tableau étant donné que tu veux récupérer le compte.
Sinon tu peux séparer dans deux index différents tout simplement faire un index avec le nom puis le suivant sera le compte correspondant.

flo3376
Auteur

bonsoir à tous, j'explique un peu plus la chose, j’utilise les nom pour affichez un graphique camembert avec donc les nom en légende et le comptage de chaque.

Pour le double post c'est une erreur involontaire, pas trop compris le truc, mais bon je m'excuse.

pour la réponse je suis passé avec d'avoir vos réponse tu 2 tableau et un foreach, c'est pas très clean mais ç donne le résultat souhaité ce qui est déjà pas mal.

et voici le code tournant

<script type="text/javascript">
      google.load("visualization", "1", {packages:"corechart"]});
      google.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = google.visualization.arrayToDataTable(
          'Avions', 'Vol effectué'],
          <?php
          try{

                $aircraft=array();
                $aircraft2=array();
                  $DBPDO = new PDO($dbdns1,$dbuser1 , $dbpass1,
                          array( PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
                  $DBPDO-> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
                  try{

                      /////////recherche des avions la table traker_mil__aircraft/////////
                      $sql = "SELECT tracker_cil_pireps.aircraft, tracker_cil_aircraft.fullname, COUNT( pirepid ) AS count
                              FROM tracker_cil_pireps
                              LEFT JOIN tracker_cil_aircraft ON tracker_cil_pireps.aircraft = tracker_cil_aircraft.id
                              WHERE `pilotid` =$pilote_cil
                              GROUP BY `aircraft` 
                              ORDER BY aircraft";
                      $req = $DBPDO ->query($sql);
                      while($aircraftcount=$req->fetch(PDO::FETCH_OBJ)) 
                          {

                            if (array_key_exists($aircraftcount->fullname,$aircraft))
                                  {
                                    //echo "ancien<br>";
                                    $count=$aircraft$aircraftcount->fullname]+$aircraftcount->count;
                                    $aircraft$aircraftcount->fullname]=$count;
                                  }
                                else
                                  {
                                    //echo "nouveau<br>";
                                    $aircraft$aircraftcount->fullname]=$aircraftcount->count;
                                    $aircraft2]=$aircraftcount->fullname;
                                  }

                          }
                        foreach ($aircraft2 as $v) 
                          {
                            ?>'<?php echo $v; ?>',<?php echo $aircraft$v];?>],<?php
                          }
                     }

            catch (PDOException $e) 
              {}
          }   
        catch (PDOException $e)
          {}
          ?>

        ]);
        var options = {
          title: 'Utilisation des différents avions',
          is3D: true,
          //colors: '#FFF5EE', '#FDF5E6', '#FAEBD7', '#FFEBCD', '#F7E7CE', '#FBE7B2', '#FFE4B5', '#FFE4C4', '#FFDEAD']
        };
        var chart = new google.visualization.PieChart(document.getElementById('piechart'));
        chart.draw(data, options);
      }
    </script>