11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour tout le monde,

j'ai en ce moment un problème en php. En effet, j'ai une date au format US dans la base de donnée. Je voudrais la faire s'afficher en Français sur mon site.

Cependant, en lisant tout les trucs possible sur internet je n'ai pas réussi à modifié le format de date, car je n'arrive pas à l'appliqué à ce champ.

Voici comment est fait mon php:

	$data=mysql_fetch_object($res);
	echo "<br /><span class='titre_profs'>$data->conf_date | $data->conf_heure</span>";


et donc je voudrais qu'au lieu de 2007-10-05, ça soit 05 Octobre 2007.

si quelqu'un pouvait m'expliquer comment faire, parceque je patoge Smiley decu

Merci d'avance.
Modifié par n0urs (29 Nov 2007 - 17:37)
Salut salut !

As-tu essayé la fonction explode() ? Si tu es sûr d'avoir toujours une chaîne de type XXXX-XX-XX, tu peux très bien découper cette chaîne par rapport aux tirets, ce qui te donnera un tableau comme ceci :
0 => XXXX.
1 => XX.
2 => XX.

Ensuite et par rapport aux résultats du tableau, tu peux utiliser la fonction date() de PHP afin d'obtenir l'affichage souhaité, notamment la date en français. Smiley smile

Note : Pas le bon forum. Smiley smile
Modifié par Gaylord.P (29 Nov 2007 - 16:34)
Merci de ta réponse, j'avais déjà regardé au niveau de cette fonction. Cependant, je n'arrive pas du tout à l'intégrer par rapport à mon code initial.

C'est surtout là le problème Smiley confus
Ben fallait utiliser timestamp ! Smiley biggol

Exemple, en admettant que les mois possèdent les zéros initiaux (modifier en conséquence) :


<?php
function date_month_fr($month_number)
{
	$month = array
	(
		'01' => 'janvier',
		'02' => 'février',
		'03' => 'mars',
		'04' => 'avril',
		'05' => 'mai',
		'06' => 'juin',
		'07' => 'juillet',
		'08' => 'aout',
		'09' => 'septembre',
		'10' => 'octobre',
		'11' => 'novembre',
		'12' => 'décembre',
	);
	return $month[$month_number];
}

	$date = "2007-11-29";
	$date = explode("-", $date);
	echo "Nous somme le ".$date[2]." ".date_month_fr($date[1])." ".$date[0]."";
?>


Smiley smile
Erf, le remplacement fonctionne très bien.

Cependant, mon conf_date se trouve dans une boucle et au final, cela me donne toujours la même date (correspondant à la 1ere date présente dans la bdd)




$req="select * from conferences order by conf_date DESC";
$req2="select conf_date from conferences";
$res=mysql_query($req) or die (mysql_error());
$res2=mysql_query($req2);
$nb=mysql_num_rows($res);

$data2=mysql_fetch_array($res2);

function date_month_fr($month_number)
{
	$month = array
	(
		'01' => 'janvier',
		'02' => 'février',
		'03' => 'mars',
		'04' => 'avril',
		'05' => 'mai',
		'06' => 'juin',
		'07' => 'juillet',
		'08' => 'aout',
		'09' => 'septembre',
		'10' => 'octobre',
		'11' => 'novembre',
		'12' => 'décembre',
	);
	return $month[$month_number];
}

	$date = $data2['conf_date'];
	$date = explode("-", $date);
	echo "Nous somme le ".$date[2]." ".date_month_fr($date[1])." ".$date[0]."";


	
$i=0;
while ($i<$nb)
{
	$data=mysql_fetch_object($res);
	

	echo "<br /><span class='titre_profs'>".$date[2]." ".date_month_fr($date[1])." ".$date[0]."3| $data->conf_heure</span>";
	echo "<div class='titres_hr_profs'><hr /></div>";

Alors bon j'ai compreis pourquoi

j'avais mal placé le $data2, il fallait intégré le tout dans la boucle

Mais now ça fonctionne impecablement bien !!!

Merci à toi !