Problème d'affichage de date...

Petit nouveau ! | 5 Messages

26 avr. 2006, 10:41

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 !

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

26 avr. 2006, 10:44

Utilise la fonction date() de PHP

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

26 avr. 2006, 10:50

Tout à fait, PHP peut formater un Timestamp (nb de secondes écoulées depuis le 1er jan 1970) pour l'afficher en tant que date.
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Petit nouveau ! | 5 Messages

26 avr. 2006, 11:08

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...

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

26 avr. 2006, 11:14

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 :P

Petit nouveau ! | 5 Messages

26 avr. 2006, 11:16

ben ça affiche la date et l'heure. Moi j'aimerai virer l'heure en fait...

Avatar du membre
ViPHP
ViPHP | 3008 Messages

26 avr. 2006, 11:18

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...

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

26 avr. 2006, 11:20

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 :lol:

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

26 avr. 2006, 11:22

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 :)

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

26 avr. 2006, 11:28

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 ;)

Invité
Invité n'ayant pas de compte PHPfrance

26 avr. 2006, 11:33

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

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

26 avr. 2006, 11:35

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 ? :lol:

C'est vrai aussi, ce serait tellement plus simle si tu affichais l'heure...

Petit nouveau ! | 5 Messages

26 avr. 2006, 11:47

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 ??

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

26 avr. 2006, 11:51

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

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

26 avr. 2006, 11:53

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... ;)
Modifié en dernier par Ryle le 26 avr. 2006, 11:58, modifié 1 fois.