Bonjour à tous \o/
J'ai un petit soucis au sujet d'une partie de mon code. Il fonctionne comme je le souhaite, cependant j'aimerais savoir s'il n'existe pas une meilleur façon de faire.
En gros j'ai une table remplis d'entrées contenant 4 variables : ID, titre, contenu, et date.
Pour un système d'archivage intelligent j'aimerais un affichage de ce genre :
--12 - titre5
--02 - titre4
-Janvier
2013
--21 - titre 3
-Décembre
2012
--16 -titre2
--03 -titre1
-Octobre
2011
(toutes ces valeurs sont à titre d'exemple)
Du coup j'ai réalisé ce code (sans les "--" ) :
Code :
- $extraire1 = $bdd->query("SELECT YEAR(date) AS annee FROM GSP_Art GROUP BY annee DESC" );
- while ($data1 = $extraire1->fetch())
- {
- $annee = $data1['annee'];
- $extraire2 = $bdd->query("SELECT YEAR(date) AS annee, MONTH(date) AS mois FROM GSP_Art GROUP BY mois DESC HAVING annee=$annee" );
- while ($data2 = $extraire2->fetch())
- {
- $mois = $data2['mois'];
- $moistr = moistr($mois); //Fonction qui traduis le numéro du mois en nom
- $extraire3 = $bdd->query("SELECT titre, MONTH(date) AS mois, DAY(date) AS jour FROM GSP_Art GROUP BY jour DESC HAVING mois=$mois" );
- while ($data3 = $extraire3->fetch())
- {
- $titre = $data3['titre'];
- $jour = $data3['jour'];
- echo "$jour - $titre</br>";
- }
- echo "$moistr</br>";
- }
- echo "$annee</br>";
- }
- $extraire1->closeCursor();
- $extraire2->closeCursor();
- $extraire3->closeCursor();
|
Qui fait son boulot... Enfin presque il reste une petite subtilité dans le cas de plusieurs articles le même jour... Mais j'aimerais savoir si je ne peux pas directement récupérer puis ordonner et grouper les résultats d'une seule requête pour par la suite obtenir le même affichage que précédemment.
Merci de m'avoir lu et merci pour de potentielles réponses =)
Message édité par klemorius le 23-03-2013 à 15:15:38