Format date en PHP/MySQL
Résolu
pm
-
Mubb -
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.
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:
- Formatdate php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
26 réponses
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! :)
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! :)
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 :-)
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 :-)
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....
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 ..
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 ..