Afficher les 6 dernières dates et le nombre de ligne

Wakan84
Invité n'ayant pas de compte PHPfrance

05 mars 2012, 13:57

Bonjour,
Voilà j'ai cherché toute la matinée et là je craque...
Voilà ce que je cherche à faire si quelqu'un pouvait m'aider ce serait sympa..

J'ai une base de donnée avec plusieurs date ===> variable "date_création" ex de variable "Lundi 05 mars 2012"
Je voudrais afficher sur le site les 6 dernières dates entrées et le nombre de ligne qui contient cette variable :

Ex : Lundi 05 mars 2012 : 20
Vendredi 02 mars 2012 : 60
Jeudi 01 mars 2012 : 50
...

Voilà j'attends vos avis et vos questions si vous en avez

Merci d'avance...

ViPHP
xTG
ViPHP | 7331 Messages

05 mars 2012, 14:01

C'est une requête SQL pour faire cela donc.
Avec LIMIT tu peux sélectionner uniquement une plage d'enregistrements (en gros les X derniers ou les X premiers ou les X à partir de Y).
Avec GROUP BY tu peux regrouper des jeux d'enregistrements partageant une donnée en commun (en l’occurrence la date dans ton cas).
Avec le regroupement tu peux ensuite utiliser la fonction COUNT() dans les champs du SELECT afin de renvoyer le nombre de lignes regroupées.

wakan84
Invité n'ayant pas de compte PHPfrance

05 mars 2012, 14:27

oui c'est bien ce que j'essaye de faire mais je n'y arrive pas ...
Pourrais tu me donner un exemple de code ca sera plus calir pour moi..
merci

ViPHP
ViPHP | 2577 Messages

05 mars 2012, 14:35

select count(*) as nb from taTable group by taDate order by taDate desc limit 1,6

Par contre, si ta date est stocké sous la forme d'un varchar "lundi 3 mars 2012", ce n'est pas possible. Il faut utiliser le format date pour stocker des dates. Eventuellement, il est possible d'utiliser un entier ou une chaine mais YYYYMMJJ (20120303).