Probleme de TIMESTAMP

Eléphanteau du PHP | 22 Messages

08 oct. 2008, 02:04

Bonjour,

J'ai un petit probleme avec TIMESTAMP :

j'ai un champ "date" dans une table.
Voici ses atributs.

Image

On voit bien que NULL = NON




Par contre quand je clique sur "Dictionnaire de données" :

Image

On voit que NULL = OUI ( :cry: )




Dans ma base de donnée (choix récupéré de formulaire) le timestamp est toujours 0000-00-00 00:00:00

Image

Je ne comprend pas d'où peut venir le probleme.

Merci de vos réponses.

Mammouth du PHP | 19672 Messages

08 oct. 2008, 07:27

regarde cette réponse qu'a faite Albat sur un autre sujet : http://www.phpfrance.com/forums/voir_re ... php#264950
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 22 Messages

08 oct. 2008, 16:35

merci Cyrano, mais

Le probleme est le même même avec un autre nom de champ.


Quelqu'un pour m'aider ? Merci.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

08 oct. 2008, 16:38

Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphanteau du PHP | 22 Messages

08 oct. 2008, 16:51

merci zeus,

Je l'avait déjà lu en français il me semble, mais cet arfticle ne m'aide pas.
Sauf si tu vois une solution dedans.. moi pas

Eléphanteau du PHP | 22 Messages

09 oct. 2008, 17:45

Personne ne saurais m'aider ?

Merci.

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

ViPHP
ViPHP | 4039 Messages

09 oct. 2008, 19:28

C'est quoi le problème en fait ? tu voudrais un timestamp nul ?
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

ViPHP
AB
ViPHP | 5818 Messages

09 oct. 2008, 19:55

Ou alors peut-être confonds-tu le nom des champs avec le type des champs ?

Par exemple si dans ton champ "date" (que tu devrais appeler autrement) tu trouves 0000-00-00 00:00:00 c'est qu'il est de type datetime;
Si tu veux enregistrer un timestamp il existe un type timestamp

Cela dit est tu certain qu'il est plus utile pour tes besoins d'utiliser un timestamp plutôt qu'un type date ou datetime ? MySql possède des fonctions très puissantes pour faire des comparaisons, interval etc sur les formats date et datetime.

Eléphanteau du PHP | 22 Messages

10 oct. 2008, 01:25

C'est quoi le problème en fait ? tu voudrais un timestamp nul ?
Mon probleme Berzemus est que j'ai un formulaire qui fait des ajout sur mon site.
Ces ajouts sont classés (le dernier viens ce classé en premier, des news quoi)

Mais vu que tous les ajouts sont à 0000-00-00 00:00:00 donc rien ne ce classe.



AB, non je ne pense pas confondre le nom du champ et avec le type de champ.
J'ai changé le nom de mon champ le probleme reste le même.


Mais est-ce normal que on voit que NULL = NON :
Image

Et que là on voit NULL = OUI :
Image

:?: :?: :?:

Comment ce fait t'il que le TIMESTAMP indique toujours 0000-00-00 00:00:00 et n'indique pas la bonne date et la bonne heure ??? (par exemple tout de suit ce seraitl 2008-10-10 01:26:47 )

Merci de votre aide.

Mammouth du PHP | 19672 Messages

10 oct. 2008, 07:18

Pourrait-on voir la requête d'insertion ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

10 oct. 2008, 12:52

Oui Cyrano :

Code : Tout sélectionner

`dates` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,

Mammouth du PHP | 19672 Messages

10 oct. 2008, 13:41

Non, ça, c'est la ligne dans la requête de création de la table. Ce qui serait intéressant, c'est la requête qui est exécutée lorsque tu ajoutes une lignes dans cette table.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

11 oct. 2008, 15:39

Code : Tout sélectionner

$requete=mysql_query("SELECT id, titre, dates FROM news ORDER BY dates DESC ") or die(mysql_error()); $couleurtab = 0; while ($data=mysql_fetch_array($requete)) { $oupsid = $data['id']; $oupstitre = $data['titre']; $oupsdate = $data['dates']; echo <A HREF=\"page.php?id=$oupsid\"><b>$oupstitre</b></A><BR>"; } mysql_close($cnt); ?>

Eléphant du PHP | 250 Messages

11 oct. 2008, 15:50

Bonjour
Excusez moi d'intervenir, mais ton champs se nomme 'date', et il me semble lire 'dateS' sur ta requête...peut être ça, non?
"L'histoire, à l'image de toutes choses dans l'univers, semble avoir comme unique règle le côté ondulatoire."

Mammouth du PHP | 19672 Messages

11 oct. 2008, 16:08

Dis-moi oups, je m'interroge : sais-tu lire ??? Comment fais-tu une insertion dans une table au juste ? :-k

J'ai dit : "la requête qui est exécutée lorsque tu ajoutes une lignes dans cette table"

Si tu y arrives avec un "SELECT ...", je te jure que je boufferai mon chapeau !
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: