Problème d'affichage sur 2 requette
Résolu/Fermé
sinifer
Messages postés
312
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
12 mars 2013
-
7 mai 2009 à 17:05
sinifer Messages postés 312 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 12 mars 2013 - 12 mai 2009 à 13:58
sinifer Messages postés 312 Date d'inscription mardi 12 février 2008 Statut Membre Dernière intervention 12 mars 2013 - 12 mai 2009 à 13:58
A voir également:
- Problème d'affichage sur 2 requette
- 2 comptes whatsapp - Guide
- 2 ecran pc - Guide
- Word numéro de page 1/2 - Guide
- Windows 11 affichage classique - Guide
- Jdownloader 2 - Télécharger - Téléchargement & Transfert
10 réponses
Christounet
Messages postés
1264
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 384
7 mai 2009 à 17:29
7 mai 2009 à 17:29
Bonjour Siniper,
Je n'ai pas testé ma réponse, mais je dirais à première vue que le fait d'utiliser deux fois la même variable $row dans deux boucles while différentes n'est pas la meilleure solution. J'essayerai de remplacer dans la deuxième boucle while la variable $row par $row1 ainsi que dans les lignes suivantes.
A plus
Je n'ai pas testé ma réponse, mais je dirais à première vue que le fait d'utiliser deux fois la même variable $row dans deux boucles while différentes n'est pas la meilleure solution. J'essayerai de remplacer dans la deuxième boucle while la variable $row par $row1 ainsi que dans les lignes suivantes.
A plus
sinifer
Messages postés
312
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
12 mars 2013
11
8 mai 2009 à 09:17
8 mai 2009 à 09:17
Je te remerci christounet
Mais j'avais déjà essayé $row1 d'ailleur je sai pas pourquoi je l'avai pas arrangé mais c'est pas sa le problème
Merci en tous cas de t'être penché dessu
Mais j'avais déjà essayé $row1 d'ailleur je sai pas pourquoi je l'avai pas arrangé mais c'est pas sa le problème
Merci en tous cas de t'être penché dessu
sinifer
Messages postés
312
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
12 mars 2013
11
8 mai 2009 à 10:39
8 mai 2009 à 10:39
après avoir modifié mon code j'ai toujours un problème sa me sort que 3 ligne alors que je devrai en avoir minimum 5
<?php // REQUETE 1 : $query = "SELECT substr(customers_from, 1, 3) AS Origin, COUNT(*) AS effectif_vg FROM customers GROUP BY Origin "; $result_vg = mysql_query($query) ; while ($row = mysql_fetch_array($result_vg)) { // REQUETE 2 : $query_produit = " SELECT substr(customers_from, 1, 3) AS Origin, COUNT(DISTINCT cu.customers_id) AS effectif, count(co.commandes_status) AS command, AVG(co.commandes_montant) AS Mmc FROM customers cu INNER JOIN commandes co ON cu.customers_id=co.customers_id WHERE co.commandes_status='1' and customers_from='".$row['Origin']."' GROUP BY Origin "; $result = mysql_query($query_produit) ; while ($row1 = mysql_fetch_array($result)) { ?> <tr> <td style="background-color:#CCCCCC;"> </td> <td style="text-align:center;"> <?php echo $row['Origin'] ?> </td> <td style="text-align:center;"> <?php echo $row['effectif_vg'] ?> </td> <td style="text-align:center;"> <?php echo $row1['command'] ?> </td> <td style="text-align:center;"> <?php echo round($row1['command']*$row1['Mmc']) ?> euro </td> <td style="text-align:center;"> <?php echo round($row1['Mmc'] ,2) ?> </td> </tr> <?php } } ?>
Christounet
Messages postés
1264
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 384
8 mai 2009 à 11:05
8 mai 2009 à 11:05
Bonjour,
Peux-tu rajouter le code suivant après la première instruction mysql_query
et le code suivant après la deuxième
Ceci devrait te donner le nombre de lignes de chaque requête et pourra peut-être nous aider à trouver le problème.
A plus
Peux-tu rajouter le code suivant après la première instruction mysql_query
$num_rows = mysql_num_rows($result_vg); echo "$num_rows Rows\n";
et le code suivant après la deuxième
$num_rows1 = mysql_num_rows($result); echo "$num_rows1 Rows\n";
Ceci devrait te donner le nombre de lignes de chaque requête et pourra peut-être nous aider à trouver le problème.
A plus
sinifer
Messages postés
312
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
12 mars 2013
11
8 mai 2009 à 14:39
8 mai 2009 à 14:39
Merci
donc après avoirs effectué les différentes modiffication et ajouté ce que tu ma dit de faire
j'ai obtenu le résultat suivant
et normalement je dois avoir 7 lignes
donc après avoirs effectué les différentes modiffication et ajouté ce que tu ma dit de faire
<?php // REQUETE 1 : $query = "SELECT substr(customers_from, 1, 3) AS Origin, COUNT(*) AS effectif_vg FROM customers GROUP BY Origin "; $result_vg = mysql_query($query) ; $num_rows = mysql_num_rows($result_vg); echo "$num_rows Rows1\n"; while ($row = mysql_fetch_array($result_vg)) { // REQUETE 2 : $query_produit = " SELECT substr(customers_from, 1, 3) AS Origin, COUNT(DISTINCT cu.customers_id) AS effectif, count(co.commandes_status) AS command, AVG(co.commandes_montant) AS Mmc FROM customers cu INNER JOIN commandes co ON cu.customers_id=co.customers_id WHERE co.commandes_status='1' and customers_from='".$row['Origin']."' GROUP BY Origin "; $result = mysql_query($query_produit) ; $num_rows1 = mysql_num_rows($result); echo "$num_rows1 Rows2\n"; while ($row1 = mysql_fetch_array($result)) { ?> <tr> <td style="background-color:#CCCCCC;"> </td> <td style="text-align:center;"> <?php echo $row['Origin'] ?> </td> <td style="text-align:center;"> <?php echo $row['effectif_vg'] ?> </td> <td style="text-align:center;"> <?php echo $row1['command'] ?> </td> <td style="text-align:center;"> <?php echo round($row1['command']*$row1['Mmc']) ?> euro </td> <td style="text-align:center;"> <?php echo round($row1['Mmc'] ,2) ?> </td> </tr> <?php } } ?>
j'ai obtenu le résultat suivant
12 Rows1 1 Rows2 1 Rows2 0 Rows2 0 Rows2 0 Rows2 1 Rows2 0 Rows2 0 Rows2 0 Rows2 0 Rows2 0 Rows2 0 Rows2 Pays Prestataire V G Commandes C.A Mmc ________100832 11532 573017 euro 49.69 1st __________855 11 1459 euro 132.64 bly __________8 23 1879 euro 81.68
et normalement je dois avoir 7 lignes
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Christounet
Messages postés
1264
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 384
8 mai 2009 à 15:22
8 mai 2009 à 15:22
Bonjour,
Ok, la première requête te trouve donc 12 lignes, ensuite la deuxième requête trouve une ligne pour la 1ère, 2ème et 6ème ligne, cela voudrait dire que pour les autres lignes, la deuxième requête ne trouve pas de données dans la table commandes soit parce il n'existe pas de lignes avec le même customer_id ou bien aucune ligne pour ce customer_id n'a de ligne où commande_status égale à 1 (c'est que ce tu peux voir dans les résultats de ton premier post).
Est-tu sur que tu devrais avoir au minimum 5 lignes ? (tu peux peut-être inclure dans ta réponse quelques lignes de ta table commande que tu penses devoir être retournées par ta deuxième requête).
A plus
Ok, la première requête te trouve donc 12 lignes, ensuite la deuxième requête trouve une ligne pour la 1ère, 2ème et 6ème ligne, cela voudrait dire que pour les autres lignes, la deuxième requête ne trouve pas de données dans la table commandes soit parce il n'existe pas de lignes avec le même customer_id ou bien aucune ligne pour ce customer_id n'a de ligne où commande_status égale à 1 (c'est que ce tu peux voir dans les résultats de ton premier post).
Est-tu sur que tu devrais avoir au minimum 5 lignes ? (tu peux peut-être inclure dans ta réponse quelques lignes de ta table commande que tu penses devoir être retournées par ta deuxième requête).
A plus
sinifer
Messages postés
312
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
12 mars 2013
11
8 mai 2009 à 15:53
8 mai 2009 à 15:53
Merci
voilà ce que sa me sort sur easyphp quant j'execute ma deuxième requette
voilà ce que sa me sort sur easyphp quant j'execute ma deuxième requette
Origin effectif command Mmc 7525 11317 49.22652646 1st 57 71 89.15422535 adc 1 1 79.00000000 adw 1950 2927 58.41648446 aff 14349 22406 57.93342185 bly 1 22 84.71363636 him 120 196 58.32066327 StV 76 109 62.64954128 xxx 1 2 29.00000000
Christounet
Messages postés
1264
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 384
8 mai 2009 à 16:34
8 mai 2009 à 16:34
Bonjour,
Peux-tu exécuter la requête suivante sur ta table commande et inclure le résultat dans ta réponse
Ceci devrait me permettre de vérifier que tu n'as pas différents customers_id pour les mêmes trois premiers caractères de customer_from.
A plus
Peux-tu exécuter la requête suivante sur ta table commande et inclure le résultat dans ta réponse
SELECT substr(cu.customers_from, 1, 3) AS Origin, cu.customers_id AS Client, count(co.commandes_status) AS command, AVG(co.commandes_montant) AS Mmc FROM customers cu INNER JOIN commandes co ON cu.customers_id=co.customers_id WHERE co.commandes_status = '1' GROUP BY Origin , Client
Ceci devrait me permettre de vérifier que tu n'as pas différents customers_id pour les mêmes trois premiers caractères de customer_from.
A plus
sinifer
Messages postés
312
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
12 mars 2013
11
8 mai 2009 à 16:37
8 mai 2009 à 16:37
voilà les résultats que sa me donnes:
il y a plusieur page comme sa
Origin Client command Mmc __________6 1 29.00000000 62 1 79.00000000 71 1 49.00000000 72 1 79.00000000 81 1 79.00000000 87 1 19.95000000 94 1 19.95000000 102 3 32.96666667 123 1 49.00000000 128 1 14.95000000 131 1 49.00000000 140 1 19.00000000 142 1 9.00000000 146 1 39.00000000 156 2 24.47500000 159 1 19.95000000 173 1 49.00000000 174 1 79.00000000 185 2 229.00000000 adw 217856 2 49.00000000 adw 217934 1 14.95000000 adw 218060 1 79.00000000 adw 218358 1 79.00000000 adw 218534 1 9.00000000 adw 218934 7 35.52857143 adw 219298 2 79.00000000 adw 219368 1 79.00000000 adw 219736 1 9.00000000 adw 219806 2 11.97500000 adw 219867 1 79.00000000
il y a plusieur page comme sa
Christounet
Messages postés
1264
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 384
8 mai 2009 à 16:51
8 mai 2009 à 16:51
Bonjour,
Je crois que j'ai trouvé, dans ta deuxième requête tu as le code suivant:
or dans ta première requête tu ne prends que les trois premiers caractères de customers_from, le code ne devrait-il pas être
A plus
Je crois que j'ai trouvé, dans ta deuxième requête tu as le code suivant:
and customers_from='".$row['Origin']."'
or dans ta première requête tu ne prends que les trois premiers caractères de customers_from, le code ne devrait-il pas être
and substr(customers_from , 1 , 3) ='".$row['Origin']."'
A plus
sinifer
Messages postés
312
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
12 mars 2013
11
8 mai 2009 à 17:04
8 mai 2009 à 17:04
je suis sur que t'es une princesse toi
En tous cas mille merci
et un
Excellent week-hend
En tous cas mille merci
et un
Excellent week-hend
Christounet
Messages postés
1264
Date d'inscription
mercredi 26 septembre 2007
Statut
Membre
Dernière intervention
29 juillet 2010
1 384
>
sinifer
Messages postés
312
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
12 mars 2013
8 mai 2009 à 17:07
8 mai 2009 à 17:07
Bonjour,
Non, tu verras dans mon profil que je suis un homme (;-)) et puis t'aider était fait avec plaisir.
Passe également un excellent weekend et n'oublie pas d'indiquer que ton problème est résolu.
A plus
Non, tu verras dans mon profil que je suis un homme (;-)) et puis t'aider était fait avec plaisir.
Passe également un excellent weekend et n'oublie pas d'indiquer que ton problème est résolu.
A plus
sinifer
Messages postés
312
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
12 mars 2013
11
12 mai 2009 à 11:27
12 mai 2009 à 11:27
:( hello Christounet
désolé je m'étais réjouis un peu trop vite et excuse moi pour t'avoir dis princess j'ai mis deux s de trop a la fin.
voilà mon affichage est bon merci mais mon problème c'est que sa doit m'affiché sa:
et chez moi sa n'affiche que:
donc on peut constaté que quand on a pas de commande on affiche rien??
j'ai essayer je me suis acharné a modifier ma requete pour que sa marche mais rien a faire
et comme je sais que tu es un prince ;) tu pourrai me donner un coup de main
désolé je m'étais réjouis un peu trop vite et excuse moi pour t'avoir dis princess j'ai mis deux s de trop a la fin.
voilà mon affichage est bon merci mais mon problème c'est que sa doit m'affiché sa:
Partenaire Nb de leads Nb de commandes Tx conv. CA MMC n/a 5271 234 4.44 22676 € 96.91 1st 259 12 4.63 1558 € 129.83 adc 82 2 2.44 138 € 69 adw 2258 122 5.4 11408 € 93.51 aff 6211 288 4.64 25202 € 87.51 cm_ 2 0 0 0 € 0 StV 11 0 0 0 € 0
et chez moi sa n'affiche que:
Pays Prestataire V G Commandes C.A Mmc 5271 234 22676 euro 96.91 1st 259 12 1558 euro 129.83 adc 82 2 138 euro 69 adw 2258 122 11408 euro 93.51 aff 6211 288 25202 euro 87.51
donc on peut constaté que quand on a pas de commande on affiche rien??
j'ai essayer je me suis acharné a modifier ma requete pour que sa marche mais rien a faire
et comme je sais que tu es un prince ;) tu pourrai me donner un coup de main
sinifer
Messages postés
312
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
12 mars 2013
11
12 mai 2009 à 12:02
12 mai 2009 à 12:02
hello a croire qu'en t'envoyan ce message du ma donné des hondes positif qui ma fai solutionné mon problème j'ai finalement réussi.
mais a chaque solution ce pose un autre problème qui est que si je met aucune date il y a rien qui s'affiche
alors qu'ils pren aucune donné il devrai tou me mettre???
je comprend pas?
sinon ma requette je l'ai modifier comme celà:
mais a chaque solution ce pose un autre problème qui est que si je met aucune date il y a rien qui s'affiche
alors qu'ils pren aucune donné il devrai tou me mettre???
je comprend pas?
sinon ma requette je l'ai modifier comme celà:
$query_produit = " SELECT COUNT(DISTINCT cu.customers_id) AS effectif, count(co.commandes_status) AS command, AVG(co.commandes_montant) AS Mmc FROM customers cu INNER JOIN commandes co ON cu.customers_id=co.customers_id WHERE " . $condition . " and co.commandes_status='1' and customers_from LIKE '{$row['Origin']}%' ";
sinifer
Messages postés
312
Date d'inscription
mardi 12 février 2008
Statut
Membre
Dernière intervention
12 mars 2013
11
12 mai 2009 à 13:58
12 mai 2009 à 13:58
c'est tous bon je te remerci pour tou bonne journée