Date français

Fermé
Louyii - 7 juil. 2010 à 09:57
 Louyii - 9 juil. 2010 à 11:54
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

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 1219 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 189
7 juil. 2010 à 12:04
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
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
Quelqu'un pour m'aider svp :(
0