begin process at 2012 05 31 04:49:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Bases de données

 > 

Pb pour afficher le résultat souhaité


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Pb pour afficher le résultat souhaité

mardi 11 octobre 2005 à 17:08:34 | Pb pour afficher le résultat souhaité

fredo35m

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';}
}
?>
 

mercredi 12 octobre 2005 à 00:20:58 | Re : Pb pour afficher le résultat souhaité

FhX

"f ($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];    
}"
Tu fetch 2 fois... fait tout en 1 seul morceau !

D'ailleurs, dans ton 2ème fetch_array(), tu va créer des variables de type 'array' pour ensuite y faire un foreach ? Beurk je trouve !

<?php
echo '<table cellSpacing=2 cellPadding=2 border=1>';
    // Affichage de la ligne d'en-tête
    echo '<tr><th>ANNEE</th><th>CODE_ELT</th><th>SOMME</th></tr>';

   while($row = mysql_fetch_array($query_reqb)) {

      echo '<tr>';
        echo  '<td bgcolor= #C49FFF >'. $row['ANNEE'].'</td>';
        echo ' <td bgcolor= #C49FFF>'$row['CODE_ELT'].'</td>';
        echo '<td bgcolor= #C49FFF>'.$row['somme'].'</td>';
     echo '</tr>';
    }

  echo '</table>';
?>

Pourquoi se faire chier autant ;) ?

J'y pense :

"if (!$query_reqb)
{
   die('Requête A detail invalide : ' . mysql_error());
}
if ($query_reqb)"
Tu vires tout ca ! Pourquoi faire 2 tests quand un seul suffit ?
 if (!$query_reqb) die ('Erreur de requete'.mysql_error() );

// Et la tu continu... vue que si y'a pas le message d'erreur, c'est que ta requete est bonne !



Cette discussion est classée dans : code, annee, echo, elt, b3


Répondre à ce message

Sujets en rapport avec ce message

Mise en relation de plusieurs tables [ par fredo35m ] Bonjour,j'ai un problème pour mettre en relation plusieurs tables. Voici mon problème:J'ai une première requete qui va chercher différentes CODE_ELT f pb calcul de somme [ par fredo35m ] Bonjour, je souhaite calculer une somme par regroupement de 2 variables, mais il me fait n'importe quoi (ou bien moi je fais n'importe quoi !!!) mais pb session urgent! [ par chamallow ] Bon c'est la prmeière fois que je fais un code d'authentification, mais bon.En fait, il faut que je rende l'accès au site sécurisé, seul quelques util problème de requête [ par sabrina_tell ] Bonjour,J'ai un formulaire html qui me permet de faire une recherche article par mot-clé et on peut choisir par checkbox la catégorie de l'article.Pou Boucle while et fonction mail [ par rems02 ] J'ai une base de donnée dans la quelle je recupère des données suivantes $piece $annee $observations les variables $piece et $annee p php SQL selection de la 1ère ligne [ par fredo35m ] Bonjour,j'ai une requete qui selectionne l'ensemble des lignes d'une bdd possèdant les caracteriqtiques souhaitées ordonner par date.$sSQL="SELECT COD Besoin d'aide poru faire une simple recherche [ par chardene_amour_de_freddy ] Bonjour à tous !Merci par avance à toutes âmes charitables qui se ponchera sur mon sujet !En fait je souhaiterais faire une recherche dans le module q changement dynamique liste déroulante [ par gasougasou ] Bonjour, j'ai créé 1 base de données sur MYSQL comportant les 2 tables suivantes :   code  &n liste deroulante dynamique [ par gasougasou ] Bonjour, j'ai créé 1 base de données sur MYSQL comportant les 2 tables suivantes :   code  < Parcourir les colonnes d'une table [ par piep14 ] Bonsoir, je cherche le moyen de parcourir les colonnes d'une table. Car pour le moment j'ai fait : Code: <? $req2 = mysql_que


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,482 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales