|
|
|
|
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.
C'est normal, il ne faut pas modifier la date avant l'enregistrement dans MySQL, mais la modifier lors de l'affichage. Il faut récupérer à partir de la date que tu veux afficher un timestamp, que tu passes à date avec d'autres arguments, et que tu peux ensuite afficher comme tu le veux.
|
Regarde y a un mec qui s'appelle Freud et qui a une solution "Et ça, c'est pas plus simple... ?", l'adresse c'est http://www.phpindex.com/trucsetastuces/trucsetastuces_lire.php3?element=180.
|
Écoute j'ai pas trouvé compliqué et ce sont mes premières heures de PHP, ajoute le code :
|
En fait, ce que vous voulez faire est simple : transformer le format yyyy-mm-dd de mysql en jj-mm-aaaa bien de chez nous pour l'affichage en php.
|
Bonjour,j'aimerai savoir ou il faut insérer dans le code de ma page web la fonction citée dans le message précédant :
|
Salut tlm,
|
Salut tout le monde,
mysql_query("INSERT INTO cxp_livreor VALUES('', '" . htmlentities($_POST['pseudo'], ENT_QUOTES) . "', '" . nl2br(htmlentities($_POST['message'])) . "', '" . htmlentities($_POST['age'], ENT_QUOTES) . "', '" . htmlentities($_POST['pays']) . "', '" . $_SERVER["REMOTE_ADDR"] . "', NOW())");
J'utilise la fonction NOW() qui a été faites exprès pour ça. Ensuite pour afficher le contenu ma requête est :
mysql_query('SELECT id, pseudo, message, age, pays, DATE_FORMAT(temps, \'%d/%m/%Y \à %H:%i:%S\') AS DateTemps FROM cxp_livreor ORDER BY ID DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
DATE_FORMAT(temps, \'%d/%m/%Y \à %H:%i:%S\') AS DateTemps Ceci va afficher : 30/11/2006 à 17:33:04 Dans ma base de donné le champs est de type datetime et ce nomme temps. La date est enregistré au format 0000-00-00 00:00:00. Et la boucle while va me retourner une variable $donnees['DateTemps']. |