[PHP / MySQL] TIMESTAMP , piti blème, vous savez surement!!!!! aidez;)

TIMESTAMP , piti blème, vous savez surement!!!!! aidez;) [PHP / MySQL] - Programmation

Marsh Posté le 14-12-2001 à 14:47:05    

euh
en fait j'ai créé une table avec un champ TIMESTAMP, qui donc, met la date comme il faut, càd 20011214144135
par contre qd je UPDATE le recordset, bin il m'update ce champ là, alors que je fais un update de kelks autre champs, mais pas celui là,
donc: question: comment faire pour attribuer une date à la création du record et ne plus la modifier????? fo passer par php? ou alors mySql prévoit une valeur par défaut spéciale du style now() ou truc du genre???
merci bien :jap:

Reply

Marsh Posté le 14-12-2001 à 14:47:05   

Reply

Marsh Posté le 14-12-2001 à 15:18:14    

Je te conseille de mettre ton champ sous forme de bigint (14) et de rentrer le timestamp via PHP


---------------
La bave du crapaud n'empèche pas la caravane de passer .
Reply

Marsh Posté le 14-12-2001 à 17:06:36    

Il te met quoi quand il te l'update ?
Si c une valeur nulle, c que tu fais mal ton update sinon je c pas.

Reply

Marsh Posté le 15-12-2001 à 00:41:58    

1- n'utilise pas de bigint, ça va alourdir ta table.
2- y a forcément une couille au niveau de ta requete ou de la structure de la table, si tu touche pas à ce champs il doit pas bouger.
3- fait péter le code et le dump de la structure de la table


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 17-12-2001 à 11:39:16    

bin pas vraiment, je crois pas faire mal les manips,
 
soit:
a : text
b : text
c : int
d : datestamp
 
 
en fait je crées l'enregistrement, et là donc, la date est bien rentrée....
soit:
 
insert into users (a,b,c) values ('bla','bla',1)
 
après, j'update  
soit:
 
update users set b = 'blabla', c = 2 where a = 'bla' and d = $date//la date que j'avais dans la base
 
là, il pupdate bien le bon enregistrement, mais en passant il me remodifie le d, donc c pas cool...
comment faire?

Reply

Marsh Posté le 17-12-2001 à 12:07:19    

Voir la doc : http://www.mysql.com/doc/D/A/DATETIME.html
 
Les champs de type timestamp sont mis à jour automatiquement à la création ou en update sur l'enregistrement.
Mais si tu veux une autre date ou que la date de création soit conservée, tu peux la spécifier.
 
Donc lis le timestamp avant de modifier l'enreg, et ensuite réaffecte cette valeur au champ timestamp dans la requête d'update.
 
update users set b = 'blabla', c = 2, d=$date where a = 'bla' and d = $date


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 17-12-2001 à 12:37:37    

Mara's dad a écrit a écrit :

Voir la doc : http://www.mysql.com/doc/D/A/DATETIME.html
 
Les champs de type timestamp sont mis à jour automatiquement à la création ou en update sur l'enregistrement.
Mais si tu veux une autre date ou que la date de création soit conservée, tu peux la spécifier.
 
Donc lis le timestamp avant de modifier l'enreg, et ensuite réaffecte cette valeur au champ timestamp dans la requête d'update.
 
update users set b = 'blabla', c = 2, d=$date where a = 'bla' and d = $date  




 
oh putain ! j'avais complètement oublié ça moi  :D


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 17-12-2001 à 13:44:15    

salut,
 
j'ai adopté le fonctionnement par DATETIME
 
ma reqûete initiale est donc:
 
 
$insere = mysql_query("insert into users (login,pass,email,age,cooked,rights,datein) values ('$log','$pas','$mel
 
','$ans','$cok', '0',NOW()" );
 
 
mais ça insère pas, et j'ai même pas de message d'erreur,
 
eske kelkun peut me dire si le NOW() est du MySQL ou du php, et donc, comment l'écrire pour que ça passe????
 
merci :jap:

 

[edtdd]--Message édité par k666--[/edtdd]

Reply

Marsh Posté le 17-12-2001 à 13:47:00    

daisolai,
j'ai captè, j'avais oubliée une parenthèse ;)
 
merci encore :)

 

[edtdd]--Message édité par k666--[/edtdd]

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed