Problème avec champ Timestamp

Signaler
Messages postés
28
Date d'inscription
samedi 3 décembre 2005
Statut
Membre
Dernière intervention
19 septembre 2008
-
Messages postés
28
Date d'inscription
samedi 3 décembre 2005
Statut
Membre
Dernière intervention
19 septembre 2008
-
Salut,

J'ai un petit soucis avec un champ timestamp... je m'y prend surement comme un manche...
Dans ma base, le champ "time" est de type Timestamp, on update current_timestamp, not null et current_timestamp par defaut

Dans mon formulaire, j'utilise ceci :

Puis un "INSERT INTO mabase VALUES ('$TIME')

Mais mon Timestamp reste toujours à 0000-00-00 00:00:00 j'ai eu beau essayer des value="", ou value="Time()"

Quelqu'un à la solution miracle, je veux juste qu'il enregistre la date à laquelle les données sont enregistrées dans la base pour utiliser ce champ comme base de tri pour un affichage...

4 réponses

Messages postés
28
Date d'inscription
samedi 3 décembre 2005
Statut
Membre
Dernière intervention
19 septembre 2008

Pour info, pas la peine de trop se creuser la tête à essayer de faire marcher ce champ si on peut le remplacer par un autre...

Ce que je souhaite, c'est un champ qui se remplit automatiquement avec une valeur que je peux ensuite utiliser pour faire un classement par "derniers ajoutés".

Je peux presque le faire actuellement avec mon champ "ID" qui est auto_increment mais le jour ou je vais modifier la page en question, je ne souhaite pas rechanger son ID pour un plus récent sinon dans quelques mois je vais avoir un nombre d'ID à plus de 5 chiffres...

Ce que je veux c'est mettre un timestamp qui lui serait mis à jour à chaque ajout/modification et sur lequel je me base pour faire un tri...

Il y a peut être une fonction "alternative" qui me permettrait de générer un timestamp dans le code php qui ensuite serait enregistré dans un champ de type "varchar" ou autre non ?
Je suis pas sur qu'on soit obligé d'avoir un champ de type timestamp ... surtout que j'ai aucune intention d'afficher une date avec ce champ, juste utilisé pour faire un tri desc...
Messages postés
28
Date d'inscription
samedi 3 décembre 2005
Statut
Membre
Dernière intervention
19 septembre 2008

Bon, j'ai réussi à me dépanner seul...

J'ai passé le champ "time" en VARCHAR et j'ai mis dans page d'envoi de données à la base cette ligne :
$Time = time();

Puis le "INSERT INTO mabase VALUES ('$TIME')

Et ça fonctionne, j'ai bien le timestamp qui s'enregistre dans la base.

C'est peut être pas très "propre" mais ça fonctionne
Messages postés
624
Date d'inscription
mardi 6 mai 2003
Statut
Membre
Dernière intervention
14 décembre 2009
1
salut.

le plus propre en effet est de ne pas avoir de champ caché dans ton formulaire et d'utiliser la fonction time() lors de l'insertion

myqsl_query("INSERT INTO matable monchamp VALUES ".time());

++
Messages postés
28
Date d'inscription
samedi 3 décembre 2005
Statut
Membre
Dernière intervention
19 septembre 2008

OK merci, je vais surement avoir retoucher un peu le code ma page, j'essayerais alors d'insérer directement la fonction time() comme ton exemple ci dessus plutôt de créer une varaible $Time=time(); pour ensuite la reprendre 2 lignes plus bas pour l'insérer.