Problème timestamp

dm21
Invité n'ayant pas de compte PHPfrance

06 mars 2013, 19:53

Bonjour,

j'essaye de mettre sur mon site un système de news avec la date, mais j'ai un problème: Lorsque je rajoute la news, il m'affiche ca: 31/12/1969 à 19h00. J'ai essayé de plusieurs manière mais ca ne marche, vous pourriez m'aider?

Voici mon code index.html:
<em>le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?></em>
Et celui de liste_news:
<td><?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?></td>
BDD: J'ai un champ timestamp type bigint (20)...

Quelqu'un pourrait m'aider?

merci,

ViPHP
xTG
ViPHP | 7331 Messages

06 mars 2013, 21:20

Montres nous ta valeur de timestamp.

dm21
Invité n'ayant pas de compte PHPfrance

06 mars 2013, 22:33

Dans la base de donnée, la valeur est de 0. Mais par contre sur le site il met pas 0 mais 31/12/1969...

Mammouth du PHP | 571 Messages

06 mars 2013, 22:52

Dans la base de donnée, la valeur est de 0. Mais par contre sur le site il met pas 0 mais 31/12/1969...
le timestamp est le nombre de secondes écoulées depuis le 1er jan 1970.or dans ton cas le timestamp est à 0 donc à l'origine(1/01/1970).
en plus la colonne correspondante au timestamp de la table mysql doit être de type TIMESTAMP et non bingint.

dm21
Invité n'ayant pas de compte PHPfrance

06 mars 2013, 23:53

Dans la base de donnée, la valeur est de 0. Mais par contre sur le site il met pas 0 mais 31/12/1969...
le timestamp est le nombre de secondes écoulées depuis le 1er jan 1970.or dans ton cas le timestamp est à 0 donc à l'origine(1/01/1970).
en plus la colonne correspondante au timestamp de la table mysql doit être de type TIMESTAMP et non bingint.
En faite, j'ai deja mis type timestamp ensuite j'ai rajoute dans l'attribut current_timestamp. Mais le problème reste le même...

Si quelqu'un pourrait m'aider ce serait super parce que la je ne sais plus quoi ni comment faire...

merci par avance,

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

07 mars 2013, 00:26

salut,


il te faut modifier la valeur en base de donnée.

mysql ne tiens pas compte de la valeur par défaut d'un champ date, il faut le spécifier à l 'insertion.


@+
Il en faut peu pour être heureux ......

dm21
Invité n'ayant pas de compte PHPfrance

07 mars 2013, 01:09

salut,


il te faut modifier la valeur en base de donnée.

mysql ne tiens pas compte de la valeur par défaut d'un champ date, il faut le spécifier à l 'insertion.


@+
salut,

tu veux dire, que a chaque fois que je vais insérer une news je dois modifier dans ma bdd?

Mammouth du PHP | 571 Messages

07 mars 2013, 13:04

pour définir une valeur de la date courante(valeur par défaut) tu peux le faire depuis ton script d'insertion en php:

$now=time();
$query="insert into table values ($now)";
ou encore passer par les fonctions mysql :

$query="insert into table values (UNIX_TIMESTAMP(now()))";
dans tous les cas il te faut vérifier via la console mysql ou phpmyadmin si t'as de bonnes valeurs dans la table.