$sql = "SELECT * FROM table_news";
$result = mysql_query($sql) or die ('Ne trouve rien: '.mysql_error());
$total = mysql_num_rows($result);
// si on a récupéré un résultat on l'affiche.
if($total) {
// lecture et affichage des résultats .
while($row = mysql_fetch_array($result)){
$dateSQL = $row['date_news'];
//**Transformation de la date de depot en date française avec le mois en lettre**//
list($annee, $mois, $jour) = explode("-", $dateSQL);
$month = array ( 1 => 'Janvier',
2 => 'Février',
3 => 'Mars',
4 => 'Avril',
5 => 'Mai',
6 => 'Juin',
7 => 'Juillet',
8 => 'Août',
9 => 'Septembre',
10 => 'Octobre',
11 => 'Novembre',
12 => 'Décembre');
$date_fr = $jour." ".$month[$mois -0]." ".$annee;
Décembre 2007
Décembre 2007
Décembre 2007
Décembre 2007
Décembre 2007
Décembre 2007
Décembre 2007
Décembre 2007
Décembre 2007
Décembre 2007
Décembre 2007
Décembre 2007
Décembre 2007
Décembre 2007
Décembre 2007
Décembre 2007
Décembre 2007
Décembre 2007
Décembre 2007
Décembre 2007
Décembre 2007
Décembre 2007
Décembre 2007
Décembre 2007
Décembre 2007
Décembre 2007
Décembre 2007
Décembre 2007
Décembre 2007
Novembre 2007
Novembre 2007
Novembre 2007
Novembre 2007
Novembre 2007
Novembre 2007
Novembre 2007
Novembre 2007
Novembre 2007
Novembre 2007
Novembre 2007
Novembre 2007
Novembre 2007
...
Ce qui est exactement ce que j'ai obtenu ... comment ne garder qu'un seul mois de chaque ?$supdate = date('Y-m-d');
$req_actu2 = mysql_query("SELECT date, activ, genre FROM actus WHERE activ=1 AND (genre='1' OR genre='4') AND date<='$supdate' ORDER BY date DESC") or die ('ERREUR archives ACTUS default<br>'. mysql_error());
$dateStrTimeOld = 0;
while ( $resultat = mysql_fetch_array($req_actu2)){
$dateStrTime = strtotime($resultat['date']);
if ($dateStrTime != $dateStrTimeOld){
echo "<br><br><font size=4>".getMois(date("F",$dateStrTime))." ".date("Y",$dateStrTime)."</font>";
}
}
$req_actu2 = mysql_query("SELECT MONTH(date) as mois , COUNT(*) as nb FROM actus GROUP by mois ORDER BY date DESC");
SELECT MONTH(date) as mois, YEAR(date) as annee , COUNT(*) as nb FROM actus
il m'affiche "décembre 2007" un grand nombre de fois ce qui correspond à 12 mois sur 4 années ... j'arrive pas à afficher le décompte des mois
Code : Tout sélectionner
# Version du serveur: 4.0.25
CREATE TABLE actus (
id int(11) NOT NULL auto_increment,
genre tinyint(1) NOT NULL default '1',
titre varchar(200) default NULL,
date date default NULL,
chapeau text NOT NULL,
contenu text,
source varchar(200) NOT NULL default '',
ordre tinyint(1) NOT NULL default '9',
activ tinyint(1) NOT NULL default '0',
activ_heure time default '00:00:00',
visites int(8) NOT NULL default '0',
KEY id (id),
KEY activ (activ),
KEY activ_heure (activ_heure),
KEY date (date),
KEY genre (genre),
KEY ordre (ordre),
KEY source (source),
KEY titre (titre)
) TYPE=MyISAM;
INSERT INTO actus VALUES (1, 1, 'titre 1', '2005-06-08', '', 'texxxxxxte blaaaaaa bla', 'Fabien', 9, 1, '10:00:00', 2);
INSERT INTO actus VALUES (262, 1, 'titre 2', '2005-06-02', '', 'texte bla bla texte', 'Jerome', 9, 1, '10:00:00', 3);
INSERT INTO actus VALUES (6, 1, 'titre 3', '2005-02-03', '', 'texte texte bla bla', 'Fabrice', 9, 1, '08:00:00', 12);
Code : Tout sélectionner
2005 janvier
2005 mars
2005 juin
2006 janvier
2007 mars
2007 septembre