Page 1 sur 2
Problème d'affichage de date...
Posté : 26 avr. 2006, 10:41
par Letty45
Bonjour,
explication du problème. J'ai voulu créer un module de news que j'integrerai dans un site en Flash. Dans le formulaire de saisie de la news il n'y a que la news à écrire, la date s'intégrant automatiquement dans la base de donnée par un timestamp
voici les caractéristiques du TIMESTAMP dans la BDD :
-> type : timestamp - attribut : ON UPDATE CURRENT_TIMESTAMP - défaut : CURRENT_TIMESTAMP
lors de l'enregistrement aucun soucis, la date s'enregistre avec l'heure.
PROBLEME : impossible de séparer l'heure et la date car je ne veux afficher au final QUE la date. J'ai beau tourner dans tous les sens, impossible de trouver une solution.
Aidez moi s'il vous plait !
Posté : 26 avr. 2006, 10:44
par ouckileou
Utilise la fonction date() de PHP
Posté : 26 avr. 2006, 10:50
par mere-teresa
Tout à fait, PHP peut formater un Timestamp (nb de secondes écoulées depuis le 1er jan 1970) pour l'afficher en tant que date.
Posté : 26 avr. 2006, 11:08
par Letty45
Justement lol !
voila mon code pour afficher la date :
(... j'épargne tout le tralala pour récup. les données dans la base ... )
$timestamp=$affiche[date];
echo date('d/m/Y', $timestamp);
********
et là c'est le drame, ça m'affiche le 01/01/1970
*********
j'ai aussi tenté les explode
$date1 = $affiche[date];
list($date, $time) = explode (" ", $date1);
list($hour, $min, $sec) = explode ( "; ", $time);
list($year, $month, $day) = explode ("-", $date);
echo $date = "$day/$month/$year"
*************
ici page blanche...
Posté : 26 avr. 2006, 11:14
par ouckileou
Reste sur ce code :
$timestamp=$affiche[date];
echo date('d/m/Y', $timestamp);
Si tu faisais un petit echo $timestamp; mmm ?
Ou encore echo $affiche[date];
Juste pour voir ce qu'il y a dedans quoi

Posté : 26 avr. 2006, 11:16
par Letty45
ben ça affiche la date et l'heure. Moi j'aimerai virer l'heure en fait...
Posté : 26 avr. 2006, 11:18
par charabia
Je ne saisis pas trop. Si ton champ est de type timestamp, un echo $timestamp devrait te donner un résultat de ce genre : "1130338978" non ? Tu ne devrais pas voir la date et l'heure...
Posté : 26 avr. 2006, 11:20
par ouckileou
Ah bon, j'étais étonné qu'il n'y ait pas de guillemets (simples ou doubles) autour de date, dans $affich[date]
Et c'est la bonne date et la bonne heure ? Sous quelle forme ? Tu peux nous le dire, n'ais pas peur de donner trop d'informations

Posté : 26 avr. 2006, 11:22
par Ryle
Suffit d'utiliser substr() !! Tu coupes tout ce qui te gènes et on en parle plus
Plus sérieusement, je pense que ca serait pas mal si tu nous donnait à nous aussi un petit apperçu de ce que contient ton $timestamp... vu que s'il est bon, nécessairement ta méthode date() fonctionne, et tu n'as par conséquent pas de problème

Posté : 26 avr. 2006, 11:28
par ouckileou
Pour info, un timestamp c'est le nombre de seconde depuis le 01/01/1970 (tiens, justement la date que tu obtiens...)
Donc quand tu récupères cette date, (alors que tu en attendais une autre bien entendu) c'est qu'il a sûrement pas su interpréter le paramètre, donc il a considéré qu'il y avait 0 sec depuis le 01/01/1970, donc que ton paramètre est sûrement mauvais.
Et comme dit Charabia, il doit donc y avoir un problème au niveau du format

Posté : 26 avr. 2006, 11:33
par Invité
pour afficher l'heure simplement tu fais un date() ensuite tu as plusieurs variable d'heure jour ou autre mais c'est en anglais pour faire la modification tu as juste a redefinir les mots "day" "month" et autre.
Bonne chance
Posté : 26 avr. 2006, 11:35
par ouckileou
pour afficher l'heure simplement tu fais un date() ensuite tu as plusieurs variable d'heure jour ou autre mais c'est en anglais pour faire la modification tu as juste a redefinir les mots "day" "month" et autre.
Bonne chance
Merci =D>
Au golf ça s'appelle un coup dans l'eau non ?
C'est vrai aussi, ce serait tellement plus simle si tu affichais l'heure...
Posté : 26 avr. 2006, 11:47
par Letty45
Alors dans ce cas ! Le plus simple serait que ma base "date" change et redevienne date.
Dans ce cas comment faire pour qu'elle s'enregistre automatiquement, sans avoir besoin de créer un champ dans le formulaire de news ??
Posté : 26 avr. 2006, 11:51
par ouckileou
Avant de modifier ta table, tu ne veux vraiment pas nous montrer ce que ton code t'affiche comme valeur ?
Montre nous :
- la valeur contenue dans ta base de données (tu regardes et tu recopies)
- le code qui récupère et est censé afficher cette valeur formatée
- la valeur affichée quand tu fais un echo du timestamp récupéré
Parceque c'est peut-être une bête erreur qui casse tout à un moment donné, pas besoin d'aller si loin...
Par contre quand les gens qui esaient de t'aider te demandent des choses, donne les leur, ce sera plus simple pour tout le monde
Posté : 26 avr. 2006, 11:53
par Ryle
Tu ne veux vraiment pas nous indiquer la valeur de ton $timestamp ?
si ça se trouve on va te dire "suffit de modifier ça dans ta requête et le tour est joué"... ca sera quand meme plus simple de tout refaire non ?
Edit : Damned ! grillé de peu...
