pb d'affichage d'une heure à partir d'un champ datetime

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : pb d'affichage d'une heure à partir d'un champ datetime

par charabia » 26 oct. 2005, 16:09

merci beaucoup charabia ça marche comme ça
(j'ai du rajouter

Code : Tout sélectionner

$d = $datepost;
mais sinon ça fonctionne)

cependant j'aimerais bien savoir ce qui clochait dans mon code précédent...

Isa
Oups voui, un oubli de ma part :)

par isachat666 » 26 oct. 2005, 15:59

oui j'aurais du m'en douter

merci, voilà une réponse claire.

c'était tellement évident que je ne le voyais pas :wink:

à bientôt,

Isa

par Truc » 26 oct. 2005, 15:52

cependant j'aimerais bien savoir ce qui clochait dans mon code précédent...
Isa
Le probleme vennait du fait que tu utilise la fonction date() de php avec une date et non un timestamp.

par isachat666 » 26 oct. 2005, 15:30

merci beaucoup charabia ça marche comme ça
(j'ai du rajouter

Code : Tout sélectionner

$d = $datepost;
mais sinon ça fonctionne)

cependant j'aimerais bien savoir ce qui clochait dans mon code précédent...

Isa

par Truc » 26 oct. 2005, 15:29

sinon tu peut formater directement depuis la requete:
$reponse = mysql_query('SELECT DATE_FORMAT(datepost,"%d/%c/%Y \à %H:%i") as date_form FROM minichat ORDER BY ID DESC LIMIT 0,20');
$donnees = mysql_fetch_array($reponse)
$datepost  = $donnees['date_form'];
echo "Le ".$datepost; 

par charabia » 26 oct. 2005, 15:07

Tu peux utiliser ceci :
<?php 
$reponse = mysql_query("SELECT * FROM minichat ORDER BY ID DESC LIMIT 0,20"); 
$donnees = mysql_fetch_array($reponse) 
$datepost  = $donnees['datepost'];

$datepost = substr($d,8,2)."/";        // jour 
$datepost = $datepost.substr($d,5,2)."/";  // mois 
$datepost = $datepost.substr($d,0,4). " à "; // année 
$datepost = $datepost.substr($d,11,5);     // heures et minutes 

echo $datepost;

} 
?>

par isachat666 » 26 oct. 2005, 15:01

merci de ta réponse.

dans ma bd, le contenu du champ est correct par ex:
2005-10-26 14:30:26
2005-10-26 14:45:12

je voudrais que mon code affiche (en fonction de cet exemple)
Le 26/10/2005 à 14:30
Le 26/10/2005 à 14:45

Or le résultat que j'obtiens est toujours
Le 26/10/2005 à 01:30
Le 26/10/2005 à 01:30

et je ne comprends pas pourquoi

merci

Isa

par mere-teresa » 26 oct. 2005, 14:56

As-tu testé ta requête dans PHPMyAdmin ? Que renvoie-t-elle ? (autrement dit que contient $donnees ?)

D'autrepart, je ne comprends pas ce que tu veux ?
Voici ce que j'ai cru comprendre :
* tu vas chercher un timestamp dans ta BDD
* tu veux afficher l'heure en format heure:minute au lieu du timestamp
* tu n'as qu'un seul timestamp dans ta base, et c'est toujours le mm...

pb d'affichage d'une heure à partir d'un champ datetime

par isachat666 » 26 oct. 2005, 14:53

Bonjour,

J'ai beau rechercher sur le forum je ne trouve pas pourquoi mon code n'affiche pas ce que j'attends. J'ai utilisé le tutoriel de minichat du site du zéro en ajoutant quelques petits trucs, notamment l'affichage de la date et l'heure.

ma requête est la suivante

Code : Tout sélectionner

mysql_query("INSERT INTO minichat VALUES('', '$pseudo', '$message',NOW())");
ensuite pour l'affichage je fais:

Code : Tout sélectionner

$reponse = mysql_query("SELECT * FROM minichat ORDER BY ID DESC LIMIT 0,20"); $donnees = mysql_fetch_array($reponse) $datepost = $donnees['datepost']; $heurepost = date("H:i",$datepost); echo "Le ".$datepost." à ".$heurepost
Mais à l'affichage j'ai toujours la même heure qui s'affiche: 01:33 (c'est l'heure à laquelle j'ai créé mon fichier)

Je suis persuadée que la solution est toute simple mais là je ne comprends pas ce qui se passe.

Merci de votre aide

Isa