Bon je ne sais pas si ça peut réellement t'aider dans le futur mais je ne sais pas si tu as tenu ça en compte:
DATE est enregistré dans la bdd sous la forme AAAA-MM-JJ
Donc quand tu insères la date d'aujourd'hui tu dois faire mettre comme valeur now() dans ta requete, parce que si tu mets par exemple 02/05/2005, ça passera jamais, il va te mettre 0000-00-00
Bon maintenant pour récupérer ta date sous le format classic jj/mm/aaaa tu fais ça :
date("d/m/Y",strtotime($champ_date_dans_bdd))
Ensuite, quand tu fais un group by id, ben il va jamais te grouper, à moins que tes id ne soient pas pareil mais généralement c'est un autoincrement.
moi perso, premièrement je mettrais un champ "date" en datetime pour avoir les la date et le temps dans un même champ.Pour récupérer des stat, je ferais plutot un truc du genre :
Pour faire un compte des enregistrements sur la date :
SELECT count( id ) , date
FROM jour
GROUP BY date
Bon alors il va te renvoyer la date au format aaaa-mm-jj hh:mm:ss
Pour la transformer au format jj/mm/aaaa, tu fais
date("d/m/Y",strtotime($champ_date))
Alors tu veux aussi qu'il te fasse le groupement sur la date sur laquelle on click, donc un groupement sur un certain jour, un certain mois et une certaine année :
SELECT count( id ) , hour(date)
FROM jour
where dayofmonth(date)=ton_jour
and month(date)=ton_mois
and year(date)=ton_annee
group by hour(date)
order by order(date)
Voilà, j'espère que ça t'aidera ^^
Sinon voici trois fonctions dont je me sert souvent qd je code :
//jj/mm/aaaa --> aaaa-mm-jj : sert à insérer dans la base
function datein($d){
$j=substr($d,0,2);
$m=substr($d,3,2);
$a=substr($d,6,4);
$datesql=$a.'-'.$m.'-'.$j;
return $datesql;
}
//aaaa-mm-jj --> jj/mm/aaaa : transforme la format de la base
function dateout($d){
return date("d/m/Y",strtotime($d));
}
//date actuelle au format jj/mm/aaaa
function today(){
return date("d/m/Y");
}