Format date en PHP/MySQL

Résolu/Fermé
pm - 13 mai 2004 à 07:44
 Mubb - 24 sept. 2013 à 09:36
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 217 Date d'inscription vendredi 22 février 2008 Statut Membre Dernière intervention 11 juillet 2011 30
27 févr. 2009 à 16:03
Merci patrick ;)

T'es deux fonction marche nikel !!
0
Voici plus simple:
<?php
echo strftime("%Y-%m-%d", strtotime("30/04/2009"))."<br/>";
?>
0
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
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
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 2480 Date d'inscription vendredi 29 octobre 2004 Statut Contributeur Dernière intervention 13 février 2018 617
4 avril 2008 à 21:20
Ouai sauf que ici c'est pas ton sujet...
0
romeoverso Messages postés 4 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 28 juin 2007
28 juin 2007 à 14:17
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 mercredi 5 mai 2010 Statut Membre Dernière intervention 7 mai 2012 1
15 nov. 2011 à 20:12
bon, voila, j'ai bo chercher ou poster ce message

Pourquoi pas dans un nouveau post, histoire de ne pas polluer celui-ci ?
0
<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