Date français

Louyii -  
 Louyii -
Bonjour,

j'ai inséré une requête dans mon code php pour faire apparaître dans un tableau et sur un graphique des mois et leur valeur. Les mois s'affichent par ordre alphabétique et en anglais...

Comment pourrais-je faire pour qu'ils soient français et dans le bon ordre ? svp

Voici ma requête :
$sql="SELECT monthname(date_jour) MOIS,sum(nbredvd) NOMBRE from donnees where year(date_jour)=$annee group by monthname(date_jour)";

Merci par avance !
A voir également:

3 réponses

cjean123
 
bonjour,

Voici une solution que je te recommande parce que moi aussi je me suis cassé la tête avec ce genre de Pbm.

1°) Ta requête SQL doit renvoyer le n° du mois mais pas son nom :
$sql="SELECT MONTH(date_jour) MOIS,SUM(nbredvd) NOMBRE from donnees where year(date_jour)=$annee group by MONTH(date_jour) ORDER BY MONTH(date_jour) "; 


2°) Puis que tu travailles en PHP, voici une fonction très utile:
function date_nom_mois( $no_mois ){
	$nom_mois = 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");

	return $nom_mois[$no_mois];
}

Tu peux enlever les sauts de ligne.

3°) créée un tableau associatif (j'adore) pour traiter le résultat de ta requête :
$stat = array();
$i=0;
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);
foreach($row as $r){
$stat[$i]['LEMOIS'] = date_nom_mois($r['MOIS']);
$stat[$i]['TOTAL'] = $r['NOMBRE'];
$i++;
}


Tu n'as plus qu'à travailler avec ta variable $stat.

J'espère que cela te sera utile.

Christophe
1
Nico_ Messages postés 1302 Statut Membre 189
 
bonjour,

avec le code suivant j'ai mes date écrites en français, libre a toi de modifier le code a ta convenance.
Le code:
<?php
// définie la date et l'heure par défaut a utiliser
date_default_timezone_set("Europe/Paris");

// traduit les jour et mois en français
       $jours = Array('','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi','Dimanche');
$mois = Array('','Janvier','Fevrier','Mars','Avril','Mai','Juin','Juillet','Aout', 'Septembre','Octobre','Novembre','Decembre');

// affichage de la date
printf('<b>%s %d %s %s</b>',$jours[date('N')], date('d'), $mois[date('n')], date ('Y'));
?>
0
Louyii
 
Merci à vous :)

cjean123, pour afficher le nom des mois dans mon graphique je suis obligée de mettre "monthname" dans la requête sql ! Mais le problème c'est qu'ils sont en anglais... merci pour le bon ordre ;)
Existerait'il une simple fonction ou autre permettant sans rien changer de traduire les mois en français ??

Mercii bcp ;)
0
Louyii
 
Quelqu'un pour m'aider svp :(
0