fredo35m
Messages postés244Date d'inscriptionjeudi 14 avril 2005StatutMembreDernière intervention12 juillet 2006
-
17 oct. 2005 à 17:37
fredo35m
Messages postés244Date d'inscriptionjeudi 14 avril 2005StatutMembreDernière intervention12 juillet 2006
-
18 oct. 2005 à 13:40
Bonjour,
je reviens avec un nouveau tableau à mettre en forme car là j'y arrive vraiment pas et je ne comprends pas comment le faire si quelqu'un pouvait à nouveau m'aider!!! désolé de revenir à la charge sur mes tableau mais là c'est mon dernier tableau !!!!! svp !!!
il s'agit de croisé ANNEE PAR TRANCHE ET PAR CODE ACTIVITE
J'arrive bien à croisé ANNEE ET CODE ACTIVITE, mais pas les 3 en même temps,
voici ma requete qui marche bien puisque lorsque je lui dit d'afficher tout bête les résultats il m'affiche bien les trucs :
if ($act!="" and $act!="00" and $codeact=="TOUTES" and $sexe!="1" and ($donnees=="ET_TRANCHE" or $donnees=="EMP_TRANCHE"))
{
$actlib=$act._LIB;
if ($donnees=="ET_TRANCHE") {
$donnees1="ET1_4ET";
$donnees2="ET5_9ET";
$donnees3="ET10_19ET";
$donnees4="ET20_49ET";
$donnees5="ET50_99ET";
$donnees6="ET100_199E";
$donnees7="ET200_499E";
$donnees8="ET500PLUSE"; }
if ($donnees=="EMP_TRANCHE") {
$donnees1="ET1_4T";
$donnees2="ET5_9T";
$donnees3="ET10_19T";
$donnees4="ET20_49T";
$donnees5="ET50_99T";
$donnees6="ET100_199T";
$donnees7="ET200_499T";
$donnees8="ET500PLUST"; }
//SELECTION DU TERRITOIRE SOUHAITE ET LA LISTE DU TERRITOIRE
$query_reqa = mysql_query("SELECT b1.TYPE_ELT,
b1.CODE_GROUPE,
b1.CODE_REGROUPT,
b2.NOM_REGROUPT,
b2.CODE_REGROUPT,
b3.CODE_GROUPE,
b3.CODE_ELT,
b4.NAF700,
b4.$act,
b4.$actlib,
b5.DECOM,
b5.NAF700,
b5.ANNEE,
SUM( b5.$donnees1 ) AS somme1,
SUM( b5.$donnees2 ) AS somme2,
SUM( b5.$donnees3 ) AS somme3,
SUM( b5.$donnees4 ) AS somme4,
SUM( b5.$donnees5 ) AS somme5,
SUM( b5.$donnees6 ) AS somme6,
SUM( b5.$donnees7 ) AS somme7,
SUM( b5.$donnees8 ) AS somme8
FROM $cnx.groupes AS b1,
$cnx.regroupt AS b2,
$cnx.det_grp AS b3,
$cnx.sir_nafcdcol AS b4,
$unedic.bsunedic AS b5
WHERE b1.CODE_REGROUPT = '$territoire' AND
b1.TYPE_ELT = b2.CODE_REGROUPT AND
b1.CODE_GROUPE = b3.CODE_GROUPE AND
b1.CODE_GROUPE = '$CODE_GROUPEB' AND
b5.DECOM = b3.CODE_ELT AND
b5.NAF700 = b4.NAF700 AND
b5.ANNEE>='$debut' AND
b5.ANNEE<='$fin'
GROUP BY b5.ANNEE, b4.$act
ORDER BY b5.ANNEE, b4.$act");
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 18 oct. 2005 à 09:33
Hello,
c'est imbuvable ton code, Fredo...
TU veux les croiser comment ? un ORDER BY sur 3 critères fonctionne très bien.
Je me refuse à lire ton code, c'est vraiment trop fouilli. Essaye
plutôt de donner un exemple simple. A priori, ton problème doit se
situer au niveau de la construction de ta requête, je suppose, puisque
croiser des tables, ça se fera à ce niveau.
Tu t'y retrouves avec une requête pareille, au passage, lol ? J'ai
rarement vu aussi long et peu intuitif (b1, b2...t'aurais pu être plus
inventif pour les alias! Si tu dois te replonger dans ce code après
l'avoir laissé de côté quelques mois, tu regretteras ces alias...).
Bref, je ne suis pas sûr que tu trouves de l'aide avec ça. Essaye
vraiment de simplifier pour qu'on ait envie de regarder de plus près
:-) (c'est pas une critique hein, juste un conseil : c'est vraiment
trop chiant à lire, là).
fredo35m
Messages postés244Date d'inscriptionjeudi 14 avril 2005StatutMembreDernière intervention12 juillet 2006 18 oct. 2005 à 09:54
salut,
oui c'est clair mais hier soir j'étais dépité donc je savais pas trop comment expliqué mon problème.
En fait, je pense que ma requete est bonne mais mon problème est pour mettre dans un tableau. Alors pour faire simple voici, ma problématique:
A partir de plusieurs tables je souhaite obtenir des sommes par tranche.
Voici ce que j'obtiens après ma requete :
Et c'est ça que je n'arrive pas à faire j'arriveà le faire lorsque que je dois juste croisé ANNEE ET CODE mais pas quand j'ai une troisième variante !!!
J'espère que c'est plus clair ainsi !!! mais je pense que mon code n'est pas très loin de la solution mais qu'il me manque il petit truc (comme d'hab ...)
Merci d'avance pour ton aide !!!!...
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 18 oct. 2005 à 10:24
Hmm, ok. Ca ne va pas être simple.
Cherche sur le forum, tableau croise ou un truc comme ça. Il y a eu un
long sujet là-dessus justement, la même problématique exactement, et ça
a été à peu près résolu.
C'était il y a 3 semaines je pense, dans ces eaux-là.
Moi ce que je peux te conseiller : essaye de représenter déjà ce tableau en tableau php. TU verras que ce n'est pas simple...
Si tu trouves une structure de tableau php (array quoi) pouvant donner
un résultat satisfaisant, tu sauras alors le construire à partir de ta
requête.
Vous n’avez pas trouvé la réponse que vous recherchez ?
fredo35m
Messages postés244Date d'inscriptionjeudi 14 avril 2005StatutMembreDernière intervention12 juillet 2006 18 oct. 2005 à 10:46
alors depuis ce matin, j'ai avancé un peu il me rest plus qu'un paramètre à lui dire, car il met bien les valeurs dans mon tableau sauf qu'il ne tient pas compte de l'année !!! C'est à dire qu'il met la même valeur pour l'année 2000 et l'année 2001 !! J'suis pas loin j'suis sûr mais il me manque juste un petit truc pour que mon tableau soit correct je mets le code du tableau au cas où avec en rouge la partie qui ne fonctionne pas très bien car il me mets bien mes valeurs dans le tableau mais sans tenir compte de l'année c'est à dire qu'il me met 2 fois la même somme (mais au bon endroit quand même)!!!: