Bonjour, j'effectue une requete sur plusieurs bases et ensuite je souhaite afficher le résultat sous forme de tableau, cela marchait très bien pour un premier type de requête mais pour un second type cela semble ne pas marcher, cela fait déjà un petit bout de temps que j'essaye de lire, relire moncode et je ne parviens pas à voir où est mon erreur !! si quelqu'un pouvait m'aider !!!
il m'affiche bien ma 1ère ligne et ma 1ère colonne mais pas les sommes (coresspondant à l'intersection ligne/colonne) !! alors que pour une autre requête cela fonctionne très bien !!! c'est ça que je ne comprends pas en plus !! merci d'avance voici ma partie de code :
<?php
...
$query_reqb = mysql_query("SELECT b1.CODE_GROUPE,
b1.CODE_REGROUPT,
b2.NOM_REGROUPT,
b2.CODE_REGROUPT,
b3.CODE_GROUPE,
b3.CODE_ELT,
b3.TYPE_ELT,
b5.DECOM,
b5.ANNEE,
SUM( b5.$donnees ) AS somme
FROM $cnx.groupes AS b1,
$cnx.regroupt AS b2,
$cnx.det_grp AS b3,
$unedic.unedic AS b5
WHERE b1.CODE_REGROUPT = '$territoire' AND
b1.TYPE_ELT = '$TYPE_ELT' AND
b3.CODE_GROUPE= '$CODE_GROUPEB' AND
b1.CODE_GROUPE = b3.CODE_GROUPE AND
b3.CODE_ELT= b5.DECOM AND
b5.ANNEE>='2000' AND
b5.ANNEE<='2001'
GROUP BY b3.CODE_ELT, b5.ANNEE
ORDER BY b3.CODE_ELT, b5.ANNEE");
if (!$query_reqb)
{
die('Requête A detail invalide : ' . mysql_error());
}
if ($query_reqb)
{ echo "OK REQ A detail BIEN DEROULE";}
//while ($data = mysql_fetch_array($query_reqb))
//{ echo $data['somme'];
// echo $data['ANNEE'];
// echo $data['CODE_ELT'];
//}} quand je mets ça il m'affiche bien mes résultats !!
// Initialisation
$tab = array();
$listeparam1 = array();
$listeparam2 = array();
while($row = mysql_fetch_array($query_reqb)) {
$listeparam1[$row['ANNEE']] = $row[ANNEE];
$listeparam2[$row['CODE_ELT']] = $row[CODE_ELT];
$tab[$row[ANNEE]][$row[$CODE_ELT]] = $row[somme];
}
// Si nous avons bien récupéré des données
if(!empty($listeparam1)) {
echo '<table cellSpacing=2 cellPadding=2 border=1>' , "\n";
// Affichage de la ligne d'en-tête
echo ' <tr >', "\n";
echo ' <td>CODE_ELT ET ANNEE</td>', "\n";
foreach($listeparam1 as $ANNEE) {
echo '<td bgcolor= #C49FFF >' , $ANNEE, '</td>', "\n";
}
echo ' </tr>', "\n";
// Affichage des lignes de données
echo ' <tr>', "\n";
foreach($listeparam2 as $CODE_ELT) {
// Affichage du pays
echo ' <td bgcolor= #C49FFF>', $CODE_ELT, '</td>', "\n";
// Affichage des données pour chaque année
foreach($listeparam1 as $ANNEE) {
if(isset($tab[$ANNEE][$CODE_ELT])) {
echo ' <td bgcolor= #C49FFF>', $tab[$ANNEE][$CODE_ELT], '</td>', "\n";
} else {
echo ' <td bgcolor= #C49FFF>0</td>', "\n";
}
}
echo ' </tr>', "\n";
}
echo '</table>', "\n";
}
else {
echo 'ça marche pas';}
}
?>