Format date en PHP/MySQL

Résolu
pm -  
 Mubb -
Bonjour,

J'ai développé, sous windows XP pro et EasyPHP 1.6, un livre d'or en php et base de données MySql, avec l'affichage de la date et l'heure de la création du message.
Tout fonctionne parfaitement, si ce n'est que la date s'affiche au format américain : AAAA/MM/JJ.
J'aurais souhaité l'afficher au format français : JJ/MM/AAAA.
Quelqu'un pourrait-il me dire comment faire ?

J'ai essayé de changer le format dans le formulaire
$date = date("Y-m-d");
$date = date("d-m-Y");
mais j'ai un autre problème lors de l'affichage de l'année qui reprend le jour et le mois, au lieu de 2004.

Dans phpMyAdmin je n'arrive pas à changer le format de la date qui revient toujours au format américain.

Voici les scripts du formulaire et de l'affichage :

FORMULAIRE :
<?php
include("sql.inc");
mysql_connect($hote, $user, $password);
mysql_select_db("perso")
or die("Ouverture base impossible");

$date = date("Y-m-d");
$heure = date("H:i:s");

if($nom)
{
mysql_query("INSERT INTO livre(nom,message,date,heure)
VALUES('$nom','$message','$date','$heure')")
or die("Ecriture impossible");
}
mysql_close;

?>

AFFICHAGE:
<?
include("sql.inc");
mysql_connect($hote, $user, $password);
mysql_select_db("perso")
or die("Ouverture base impossible");
{
$table=mysql_query("SELECT * FROM livre order by ordre DESC");
}
mysql_close;

echo"<CENTER><TABLE BORDER=0 bgcolor='#FFFFFF'>";
echo"<TR>";
echo"<TD><CENTER>";



while ($ligne=mysql_fetch_object($table))

{
echo"<TR>";
echo"<TD><CENTER><B>$ligne->message<BR><BR>";
echo"<TR>";
echo"<TD><B>$ligne->nom le $ligne->date à $ligne->heure";
echo"<BR><hr>";

}

?>

Merci d'avance pour vos réponses.
A voir également:

26 réponses

kickers37000 Messages postés 221 Date d'inscription   Statut Membre Dernière intervention   30
 
Merci patrick ;)

T'es deux fonction marche nikel !!
0
melay
 
Voici plus simple:
<?php
echo strftime("%Y-%m-%d", strtotime("30/04/2009"))."<br/>";
?>
0
spouk
 
Petite question à la suite de ce sujet. Je touche au but mais n'arrive pas à l'atteindre.

Mon champ "date" est en VARCHAR et non en DATETIME. Donc

SELECT DATE_FORMAT(date, '%d/%m/%Y %H:%i') AS date

ne fonctionne pas. Je suppose qu'il faut intégrer dedans STR_TO_DATE, mais j'ai beau chercher et je ne trouve pas.

En gros, il y a une commande qui m'insère mes donnée avec une variable $date=date('d/m/Y à H:i');

Le problème c'est que je veux ressortir toute les données mais en ordre du temps. Le probleme, c'est que la date 02/05/2010 passe avant 01/06/2010.
Je précise que je voudrais faire ce résultat sans modifier le type de mon champ! Donc le laisser en VARCHAR!

Merci de m'aider! :)
0
mbernard01
 
Si je comprends bien, ton champs 'date' est de type VARCHAR et la valeur stockée dans ce champs est de type '01/05/2010 à 11:45' ?

Dans ce cas :

SELECT DATE_FORMAT(STR_TO_DATE( '01/05/2010 à 11:45', '%d/%m/%Y à %H:%i' ) , '%Y/%m/%d %H:%i' ) AS ma_date

devrait fonctionner :-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Lili
 
Oui n'empeche que moi , j'ai le probleme j'arrive a convertir avec une fonction mais dans une boucle c'est une autre affiaire !!! j'ai juste ma dernière date qui est switchée et on ne trouve nulle part une bonne info....
-2
s.spark Messages postés 2485 Date d'inscription   Statut Contributeur Dernière intervention   618
 
Ouai sauf que ici c'est pas ton sujet...
0
romeoverso Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
salut tlm,
bon, voila, j'ai bo chercher ou poster ce message, et je suis toujours pas sûr qu'ici soit le bon endroit, mais j'ai tellement besoin d'aide, alors svp soyez indulgent!
en fait , j'ai fait un formulaire de contact en html/php en utilisant un script que j'ai trouvé dans un tuto... il marchait nikel, d'ailleur il marche tjrs mais le prob est que recement g ajouté des case ( tel , raison sociale, fax), le mail continue a arrivé mais son prendre considération a ce qui est ecrit dans les nouvelles cases... je suis pas un pros en php alors je vous passe le script, en fait il y a des ligne qui manque du coté php je pense....


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>contactez nous</title>
<style type="text/css">
<!--
body {
background-color: #000000;
}
.style2 {font-size: 16px}
.style3 {color: fffffff}
body,td,th {
color: #999999;
font-family: Calibri;
}
#Layer1 {
position:absolute;
width:252px;
height:125px;
z-index:1;
left: 450px;
top: 173px;
}
#Layer2 {
position:absolute;
width:147px;
height:81px;
z-index:1;
left: 837px;
top: 525px;
}
#Layer3 {
position:absolute;
width:987px;
height:80px;
z-index:2;
left: 0px;
top: 0px;
}
#Layer4 {
position:absolute;
width:149px;
height:115px;
z-index:3;
left: 207px;
top: 205px;
}
-->
</style></head>

</html>
<head>
<title>Contactez moi</title>
</head>

<body>

<form method="post" action="mail.php">

<h2> </h2>
<div id="Layer2">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload2.macromedia.com/get/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="147" height="82" title="dat">
<param name="movie" value="date.swf" />
<param name="quality" value="high" />
<embed src="date.swf" quality="high" pluginspage="https://get.adobe.com/flashplayer/" type="application/x-shockwave-flash" width="147" height="82"></embed>
</object>
</div>
<h2> </h2>
<div id="Layer3">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload2.macromedia.com/get/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="987" height="80" title="coban">
<param name="movie" value="contactbanner.swf" />
<param name="quality" value="high" />
<embed src="contactbanner.swf" quality="high" pluginspage="https://get.adobe.com/flashplayer/" type="application/x-shockwave-flash" width="987" height="80"></embed>
</object>
</div>
<h2> <u>Informations:</u></h2>
<p>Votre E-mail: <br />
<input type="text" name="votremail" />
<p>Raison sociale: <br />
<input type="text" name="raison sociale" />
<p>N° de tél: <br />
<input type="text" name="Tél" />
<p>N° de Fax: <br />
<input type="text" name="Fax" />

<input type="hidden" name="objet" value="mail site" />
</p>
<p>
Votre message:</p>
<div id="Layer4">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload2.macromedia.com/get/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="150" height="150" title="rot">
<param name="movie" value="rot.swf" />
<param name="quality" value="high" />
<embed src="rot.swf" quality="high" pluginspage="https://get.adobe.com/flashplayer/" type="application/x-shockwave-flash" width="150" height="150"></embed>
</object>
</div>
<p>
<textarea cols="66" rows="6" name="message"></textarea>
</p>
<p>
<input type="submit" value="Envoyer" />
</p>

</form>

<p> </p>
</body>
<html>
<?php
$verif="!^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-zA-Z]{2,4}$!";

$votremail=$_POST["votremail"];
$from=htmlentities("From: ".$votremail);
$message=stripslashes(htmlentities($_POST["message"]));

$destinataire="hahaha@hihhihi.com";

$objet=$_POST['objet'];

if(!preg_match($verif,$votremail))
{
echo "Votre adresse E-Mail n'est pas valide";
}

elseif (trim($message)=="")
{
echo "Votre message est vide!";
}

else
{
mail($destinataire,$objet,$message,$from);
echo "Merci de nous avoir choisis comme partenaire, votre requête est en cours de traitement";
}

?>




P.S; j'ai remplacez le mail par un bidon//// n'y faites pas attention!!!
merci infiniment a l'avance!! :) c suuuuuuuuuuper urgent svp ..
-3
mbernard01 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   1
 
bon, voila, j'ai bo chercher ou poster ce message

Pourquoi pas dans un nouveau post, histoire de ne pas polluer celui-ci ?
0
ahmed-s91
 
<SCRIPT LANGUAGE="JavaScript">
Today = new Date;
Jour = Today.getDate();
Mois = (Today.getMonth())+1;
Annee = Today.getFullYear();
Message =Annee+"-"+ Mois +"-"+Jour;
</SCRIPT>

l appel de function

$date = "<script language='Javascript'> document.write(Message); </script>";
0