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
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.
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>