Fonction PHP pour lister par mois

izn Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   -  
izn Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'aimerais savoir si quelqu'un pourrais m'aider, j'ai créer une page de vote pour des photos, tout fonctionne très bien mise à part que j'ai de la difficulter avec le listing des images, j'aimerais les classers pour que le mois actif sois afficher et que les autres mois soit simplement lister suivi du nombre d'entrée par mois, je vois 2 façons possible, par requête sql j'ai une colone nommer "month" les données qui y sont inscrite sont sous ce format: 2009-02 ou sinons les fichiers images sont ont le format suivant: NOM_2009-02_ID.jpg

Merci de votre aide, cela fait déjà plusieurs jours que je tente de rêgler ce problême et je n'arrive jamais aux résultat voulu.

Exemple voulu:

Décembre 2008 (5) | Janvier 2009 (3) | Février 2009 (10)

Listing des images de Février 2009
...


Donc la fonction par elle même devrait être en mesure d'afficher tout les mois existant et de lister les fichiers du mois actif date("Y-m");

Merci beaucoup à l'avance de votre aide !
A voir également:

3 réponses

izn Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   3
 
Quelqu'un aurait une indice ? S.V.P :)
0
izn Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   3
 
Toujours personne... ??
0
Psyk974 Messages postés 551 Date d'inscription   Statut Membre Dernière intervention   51
 
Bonjour,

Je vais essayer de t'expliquer ça ! ;)

Mais j'aimerai tout d'abord avoir le schéma de ta table de données
0
izn Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   3 > Psyk974 Messages postés 551 Date d'inscription   Statut Membre Dernière intervention  
 
Database: ctl
Table: vote_animal
id text
id_vote varchar(25)
month text
name_animal text
description text
Un exemple des données qui sont dans la table:

Pomme_02-2009_1650077615 118296687 2009-02 Pommé Pommérenien

id = nom du fichier sans extension
id_vote = interelier à une table de vote
month = date("Y-m"); lorsque la donnée fut ajouté
Name Animal = nom de l'animal
Description = De quel race est t-il

vous l'aurez compris ce site fait référence aux animaux :P!

Merci d'avance de ton aide Psyk974
0
izn Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   3
 
J'attend toujours de l'aide ! S.V. P :) Quelqu'un aider moI!
0
Psyk974 Messages postés 551 Date d'inscription   Statut Membre Dernière intervention   51
 
Salut, désolé pour le retard.

Allez c'est parti !

Tout d'abord nous allons mettre en place liste des mois disponibles dans l'ordre croissant pour avoir le résultat suivant :

Décembre 2008 (5) | Janvier 2009 (3) | Février 2009 (10)

Pour cela il te faut aller sélectionner dans ta base de données avec la requête suivante :

$reponse = mysql_query('SELECT month_text, count(*) AS nbr
                                    FROM votre_animal
                                    GROUP BY month_text
                                    ORDER BY month_text') or die (mysql_error());
while ($donnees = mysql_fetch_array($reponse)) {
     echo $donnees['month_text'].' ('.$donnees['nbr'].') | ';
}



Ceci va te donner le résultat suivant :

2008-12 (5) | 2009-01 (3) | 2009-02 (10) |

Ensuite pour avoir un affichage mois année, il te faudra une petite fonction qui va te convertir tout ça. (2009-01 => Janvier 2009)

Voilà pour les liens...


Maintenant pour afficher les images du dernier mois avec une requête qui va uniquement sélectionner les images du dernier mois (ici 2009-02)

$reponse = mysql_query('SELECT id_text
                                    FROM votre_animal
                                    WHERE month_text = (SELECT month_text FROM votre_animal ORDER BY month_text DESC LIMIT 1;)
                                    ORDER BY id_text') or die (mysql_error());
while ($donnees = mysql_fetch_array($reponse)) {
     echo $donnees['id_text'].' | ';
}


________________________

Je récapile :

Deux requêtes : une pour afficher tes mois et une autre le dernier mois avec les images

$reponse = mysql_query('SELECT month_text, count(*) AS nbr
                                    FROM votre_animal
                                    GROUP BY month_text
                                    ORDER BY month_text') or die (mysql_error());
while ($donnees = mysql_fetch_array($reponse)) {
     echo $donnees['month_text'].' ('.$donnes['nbr'].') | ';
     $max_mois = $donnees['month_text'];
}


$reponse = mysql_query('SELECT id_text
                                    FROM votre_animal
                                    WHERE month_text = (SELECT month_text FROM votre_animal ORDER BY month_text DESC LIMIT 1;)
                                    ORDER BY id_text') or die (mysql_error());
while ($donnees = mysql_fetch_array($reponse)) {
     echo $donnees['id_text'].' | ';
}



Voilà en gros, ensuite à toi de faire une petite mise en page etc.
0
izn Messages postés 26 Date d'inscription   Statut Membre Dernière intervention   3 > Psyk974 Messages postés 551 Date d'inscription   Statut Membre Dernière intervention  
 
Merci beaucoup vieux, je vais essayer sa dès que j'arrive à la maison ! Tu es très sympa merci !
0