Gardeboue
Messages postés49Date d'inscriptionmardi 9 mai 2017StatutMembreDernière intervention 7 janvier 2019
-
7 janv. 2019 à 08:48
Gardeboue
Messages postés49Date d'inscriptionmardi 9 mai 2017StatutMembreDernière intervention 7 janvier 2019
-
7 janv. 2019 à 13:58
Bonjour,
Je sais que je déterre un sujet souvent évoqué mais après moultes et moultes essais j'y arrive pas.
Je cherche à convertir au moment de l'affichage ma date au format sql de base (année-mois-jour h:m:s) en jour/mois/année à h:m.
Je sauvegarde ma date avec la fonction toute faite sql now().
Lorsque je fais une requête sql directement dans phpMyAdmin çà fonctionne:
SELECT DATE_FORMAT(date_creation, '%d% %m %Y à %H:%i') AS date_fr FROM livreor
Qui une fois converti en php donne:
$sql = "SELECT DATE_FORMAT(date_creation, \'%d% %m %Y à %H:%i\') AS date_fr FROM livreor";
Je claque çà dans mon php juste avant l'echo qui affiche la date et là ma variable date_fr est vide.
Si je fais appel à vous c'est que je viens de passer une journée à essayer des tas de trucs sans résultat.
Merci de votre aide
jordane45
Messages postés37500Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention27 mai 2023341 7 janv. 2019 à 09:54
Bonjour,
Les backSlashes ici ne servent à rien
$sql = "SELECT DATE_FORMAT(date_creation, \'%d% %m %Y à %H:%i\') AS date_fr FROM livreor";
Il suffit de faire
$sql = "SELECT DATE_FORMAT(date_creation, '%d% %m %Y à %H:%i') AS date_fr FROM livreor";
Si le souci persiste malgré cela, pense à nous donner la suite du code php....
Gardeboue
Messages postés49Date d'inscriptionmardi 9 mai 2017StatutMembreDernière intervention 7 janvier 2019 7 janv. 2019 à 11:22
Salut Jordan
effectivement tu as raison mais cela ne change rien.
voici toute la partie de mon code concernant l'affichage
if (isset($_GET['page']))
{
$page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4)
}
else // La variable n'existe pas, c'est la première fois qu'on charge la page
{
$page = 1; // On se met sur la page 1 (par défaut)
}
// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage;
$reponse = mysql_query('SELECT * FROM livreor ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
while ($donnees = mysql_fetch_array($reponse))
{
$donnees['message'] = nl2br($donnees['message']);// On remplace les entrées par des <br />
$sql = "SELECT DATE_FORMAT(date_creation, '%d% %m %Y à %H:%i') AS date_fr FROM livreor";
echo '<p><font color="cyan"><u><strong>' . $donnees['pseudo'] . '</u></strong></font> a écrit le ' . $date_fr . '<br />';
echo '<p><font color="cyan"><u><strong>' . $donnees['pseudo'] . '</u></strong></font> a écrit le ' . $donnees['date_creation'] . '<br />';
echo '<font color="white">'. $donnees['message'] . '</font></p><br />';
}
mysql_close(); // On ferme la connexion à MySQL
je précise que la ligne 27 est un doublon de la 25 mais qui fonctionne correctement avec le format initial.
C'est la 25 que je cherche à faire fonctionner en récupérant la variable date_fr qui devrait contenir ma date au nouveau format.
jordane45
Messages postés37500Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention27 mai 2023341 Modifié le 7 janv. 2019 à 13:48
Oulaaaa.....
Déjà.. tu utilises l'ancienne extension mysql... qui est désormais OBSOLETE.
Il faut que tu passes à PDO ou mysqli.
Ensuite.. tu as écris une requête.... mais... tu ne l'exécutes pas.... un peu normal dans ces conditions que ça ne te retourne rien non. ??
Et puis pourquoi faire une nouvelle requête... il sufft de modifier la première
$sql = "SELECT T.*
, DATE_FORMAT(T.date_creation, '%d %m %Y à %H:%i') AS date_fr
FROM livreor T
ORDER BY T.id DESC
LIMIT " . $premierMessageAafficher . "," . $nombreDeMessagesParPage;
$reponse = mysql_query($sql); // edit : $sql et non $sql1
while ($donnees = mysql_fetch_array($reponse))
{
Gardeboue
Messages postés49Date d'inscriptionmardi 9 mai 2017StatutMembreDernière intervention 7 janvier 2019 7 janv. 2019 à 13:22
j'ai fais l'essai de ton code après avoir enlevé le 1 du sql en ligne 9 qui me renvoyait une erreur mais date_fr est toujours vide
jordane45
Messages postés37500Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention27 mai 2023341
>
Gardeboue
Messages postés49Date d'inscriptionmardi 9 mai 2017StatutMembreDernière intervention 7 janvier 2019 7 janv. 2019 à 13:49
Dis voir... tu récupères où $date_fr ??
Il faut faire comme pour les autres données issues de la bdd bien entendu...
$donnees['date_fr']
Gardeboue
Messages postés49Date d'inscriptionmardi 9 mai 2017StatutMembreDernière intervention 7 janvier 2019 Modifié le 7 janv. 2019 à 14:05
Je la récupère... bennnn.... heuuuuuu....
Ok je sors !!!!
en fait j'avais pas capté que la modif s’opérait au niveau de la bd
çà marche mon ami
je crois que c'est pas la première fois que tu me dépannes.
Un grand merci à toi
7 janv. 2019 à 11:22
effectivement tu as raison mais cela ne change rien.
voici toute la partie de mon code concernant l'affichage
je précise que la ligne 27 est un doublon de la 25 mais qui fonctionne correctement avec le format initial.
C'est la 25 que je cherche à faire fonctionner en récupérant la variable date_fr qui devrait contenir ma date au nouveau format.
Modifié le 7 janv. 2019 à 13:48
Déjà.. tu utilises l'ancienne extension mysql... qui est désormais OBSOLETE.
Il faut que tu passes à PDO ou mysqli.
Ensuite.. tu as écris une requête.... mais... tu ne l'exécutes pas.... un peu normal dans ces conditions que ça ne te retourne rien non. ??
Et puis pourquoi faire une nouvelle requête... il sufft de modifier la première
7 janv. 2019 à 13:22
7 janv. 2019 à 13:49
Il faut faire comme pour les autres données issues de la bdd bien entendu...
Modifié le 7 janv. 2019 à 14:05
Ok je sors !!!!
en fait j'avais pas capté que la modif s’opérait au niveau de la bd
çà marche mon ami
je crois que c'est pas la première fois que tu me dépannes.
Un grand merci à toi