|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 9 ![]() |
Bonjour à tous!
J'ai un petit problème en ce moment qui me fait un peut stagner dans mon projet. En fait, j'ai fait une requête dans ma BDD qui m'affiche l'année, le mois, le type de renouvellement et le compte(nombre de clients par type de renouvellement). Mon problème est que dans un soucis d'optimiser ma table, j'ai merai par exple que q'il y a 3 fois l'année "2010" dans la colonne "Year" mon tableau n'en affiche qu'un seul de même pour le mois de Décembre et les autres colonnes. Pour ilustrer ça voici un extrait: Year------- Month----------- Type-----------------------Count 2010------ December-- Renewal of product Monthly Plan--- 4 2010------ December-- Renewal of product Annual Plan---- 2 2010------ December-- Renewal of product Weekly Plan--- 2 2011------ January---- Renewal of product Monthly Plan--- 8 2011------ January---- Renewal of product Weekly Plan--- 5 2011------ January---- Renewal of product Annual Plan---- 3 A la place j'aimerai avoir: Year--Month---- Type----------------------------Count 2010--December Renewal of product Monthly Plan--- 4 ---------------- Renewal of product Annual Plan---- 2 -----------------Renewal of product Weekly Plan---- 2 2011--January--- Renewal of product Monthly Plan--- 8 -----------------Renewal of product Weekly Plan---- 5 -----------------Renewal of product Annual Plan---- 3 J'ai essayé de résoudre mon problème avec la fonction array_unique mais ça marche pas. J'ai aussi de faire un GROUP BY 'year', 'Month' mais là ça ne m'affiche par ts les types en fonction du mois et de l'année ainsi q le count. Quelqu'un pourrait-il m'aider? Ou me donner une piste de réflexion? Merci d'avance. |
|
|
00
|
|
|
#2 | ||||
![]() ![]() |
Bonjour,
une solution simple est de tester les valeurs au moment de les afficher dans la <table>. Code :
"The empty-cells property sets whether or not to display borders and background on empty cells in a table (only for the "separated borders" model)." Code :
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
||||
|
|
10
|
|
|
#3 |
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 9 ![]() |
Bonjour à jreaux62! Je te remercie pour tn post qui m'a été très utile
|
|
|
00
|
|
|
#4 |
![]() ![]() |
- Quel est le CSS de ta <table>,
- et quel résultat (esthétique) veux-tu obtenir (si tu as une image à montrer en exemple, ce serait bien)
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
|
|
00
|
|
|
#5 | ||
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 9 ![]() |
Merci Jreaux de ta réponse Voici le CSS de ma table:
Code css :
Et j'aimerai obtenir ceci: cf fchier-joint Merci d'avance pour ton aide et ta disponibilité |
||
|
|
00
|
|
|
#6 |
![]() ![]() |
Aurais-tu un bout du code html généré pour ton tableau (un bout suffit pour les tests)
[Edit] En fait, non. Je vois ce que tu veux. Mais ca ne peut pas se faire de cette manière. Pour faire ce que tu veux, il faut FUSIONNER les cellules. Ce qui n'est pas si simple ...
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 9 ![]() |
Voilà un bout du code jspr q ça suffira:
<table> <tr> <th>Year</th><th>Month</th><th>Type</th><th>Count</th> </tr> //Le reste c'est du php pr afficher les balises "<td></td>" en tenant compte du code ci-dessus </table> |
|
|
00
|
|
|
#8 | ||||
![]() ![]() |
Actuellement, avec la "solution simple", on obtient ca :
Code :
Code :
-> Quelle est ta requête actuelle ?
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
||||
|
|
00
|
|
|
#9 | ||
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 9 ![]() |
Effectivement ce que j'aimerai obtenire c'est la deuxième solution. Ma requête actuelle est celle là:
Code sql :
P.S fee_title:c'est le type dans mon tableau |
||
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 9 ![]() |
Je pensais stocker le contenu vide des cellules dans une variable et ensuite faire un rowspan de celui-ci. Mais sachant que le tableau peut s'aggrandir avec le temps c'est pas facile
|
|
|
00
|
|
|
#11 |
|
Membre confirmé
![]() Inscription : juillet 2011 Messages : 146 ![]() |
La solution la plus simple même si elle consomme un peu de mémoire c'est de :
- Stocker l'ensemble des résultats de ta requête dans un tableau tout simple a 2 dimensions. - Boucler une 1ère fois sur ton tableau pour rajouter a chaque ligne 2 valeurs nb ligne year et nb libre month (Une des façon simple c'est en parcourant de stocker dans des variables les valeurs a chaque changement, la position du changement, et un incrément a chaque valeur identique, et au changement dans ton tableau tu va modifier les valeurs de l'index du changement que tu avait stocké. - Tu boucle sur ton tableau pour générer le html. La pareil tu stocke les valeurs a chaque changement et tu ne génère le TD correspondant que si la valeur a changé par rapport a la a ligne du dessus, et quand tu génère le TD tu rajoute le row span que tu as stocké a l'étape d'avant. (Un peu comme la 1ère réponse de jreaux62 mais ton if entoure le td et tu rajoute le rowspan). |
|
00
|
|
|
#12 |
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 9 ![]() |
Merci pour ta réponse mais j'aimerai quelque chose d'assez simple. Pour celà je me demandais si on ne pouvait pas faire un count(nbre de lignes ) tout en vérifiant la valeur contenu dans chaque cellule. Dès qu'on s'aperçoit du changement, on fusionne ces cellules et ainsi de suite. A ce moment là le rowspan pourrait contenir la valeur du count(nbre de lignes). Qu'en dites vous?
|
|
|
00
|
|
|
#13 | ||
![]() ![]() |
Bonjour,
ce qui complique les choses, c'est qu'il faut afficher les rowspan="..." AVANT d'afficher les lignes suivantes ... Il faut à chaque fois compter le nombre de lignes (même Year, même Month) qui seront affichées APRES. Il faut donc bien comprendre le principe de fonctionnement, et définir la méthode. Tolriq a donné une mthode en passant par un array. En voici une, avec requêtes imbriquées : Code :
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément." Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique. Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
|
||
|
|
00
|
|
|
#14 | ||
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 9 ![]() |
Merci pour vos réponses mais ap une bonne journée de plus à me creuser les méninges j'ai pu trouver un moyen simple de le faire sans avoir à passer par les tableaux et les requêtes SQL! Et ça marche!!
Code php :
Bon actuellement ça marche pour la colonne des dates et en ce moment j'essaie de trouver le moyen de le faire avec la colonnes des mois. Je reste à l'écoute chères amis et merci à Jreaux et Dulriq qui m'ont aidé.
|
||
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Étudiant Inscription : août 2011 Messages : 9 ![]() |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com