calou80 Posté 27 Septembre 2005 Posté 27 Septembre 2005 Je cherche comment insérer dans un champ de bdd ( mysql ) la date et l'heure de l'enregistrement. Quel type de champs choisir ( DATETIME ... ) quel attribut ? ... Merci d'avance.
NorSeb Posté 28 Septembre 2005 Posté 28 Septembre 2005 Salut, Tout dépend de ce que tu veux en faire par la suite. Le champ DATETIME est le plus "lisible" mais n'est pas forcément pratique à utiliser. Personnellement, je déteste TIMESTAMP mysql... Je ne te le conseille pas. Si tu veux quelque chose de pratique pour stoker une date précise qui soit facilement réutilisable je crois que la meilleure solution consiste à utiliser un champ de type... entier (INT) et d'y stocker un timestamp unix.
petit-ourson Posté 28 Septembre 2005 Posté 28 Septembre 2005 Je conseille l'utilisation d'un champ de type "date" (timestamp ou datime, etc) directement sur MySQL (ça permet d'utiliser les fonctions date du sgbd comme now())
Portekoi Posté 28 Septembre 2005 Posté 28 Septembre 2005 Bonjour, Comme petit-ourson, je te conseille un champ de type date/time. Ainsi, lors de l'insertion dans ta base de donnée, utilise la fonction Date de php A bientot Portekoi
calou80 Posté 28 Septembre 2005 Auteur Posté 28 Septembre 2005 OK pour vos réponses mais comme je suis un très grand débutant je ne comprends pas tout: j'ai créé dans une table le champs DATETIME suivant : ALTER TABLE `athletisme` CHANGE `Date_enregistrement` `Date_enregistrement` DATETIME DEFAULT NULL Ainsi que deux autres dont un de type ENUM, que lui je sais remplir, et l'autre de type INT auto-incrémentable, que lui je sais remplir également : Maintenant que dois-je mettre comme code dans ma page php pour remplir le champ datetime? Merci d'avance.
NorSeb Posté 28 Septembre 2005 Posté 28 Septembre 2005 dans ta requète tu peux utiliser la fonction mysql : now(). Par exemple INSERT INTO MATABLE(date_enregistrement) VALUES(now())
calou80 Posté 28 Septembre 2005 Auteur Posté 28 Septembre 2005 Ok ça marche sauf qu'entre deux enregistrements, il y a un enregistrement qui est nul à chaque fois, est-ce normal ? Est-ce dû aux attributs de mon champs (Voir quote suivant) ? ALTER TABLE `athletisme` CHANGE `Date_enregistrement` `Date_enregistrement` DATETIME DEFAULT NULL
NorSeb Posté 29 Septembre 2005 Posté 29 Septembre 2005 A priori non... tu peux nous montrer un bout de ton code d'insertion stp ?
Portekoi Posté 29 Septembre 2005 Posté 29 Septembre 2005 Salut, Donne nous un morceau de ton code pour que l'on puisse t'aider Portekoi
calou80 Posté 29 Septembre 2005 Auteur Posté 29 Septembre 2005 Voilà: en fait je suis enseignant au collège et je cherche à valider le niveau d'un élève pour x compétences... Ensuite selon le niveau enregistré dans la bdd ( 0, 1, 2, 3 ) je voudrais qu'un lien dirige vers telle ou telle situation-problème pour aider l'élève à progresser. Si c'est pas clair vous le dites ! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Champ modifiable par des boutons</title> </head> <body> <form method="post" action="<?php echo $_SERVER["PHP_SELF"]; ?>"> <p> <?php mysql_connect('localhost', 'root', '') or die( "Connection impossible"); mysql_select_db('eleve1') or die('Impossible de choisir la base de donnée'); if (isset($_POST["bouton1"])) { $valeur = 0; } elseif (isset($_POST["bouton2"])) { $valeur = 1; } elseif (isset($_POST["bouton3"])) { $valeur = 2; } elseif (isset($_POST["bouton4"])) { $valeur = 3; } if( isset( $valeur )) { mysql_query("INSERT INTO athletisme (competence1) VALUES ( '$valeur')"); echo "Le niveau " . ($valeur) . " pour cette compétence a été pris en compte dans la base de données"; } ?> </p> <p> <input type="submit" name="bouton1" value="Niveau 0" /> <input type="submit" name="bouton2" value="Niveau 1" /> <input type="submit" name="bouton3" value="Niveau 2" /> <input type="submit" name="bouton4" value="Niveau 3" /> </p> <?php mysql_connect('localhost', 'root', '') or die( "Connection impossible"); mysql_select_db('eleve1') or die('Impossible de choisir la base de donnée'); mysql_query("INSERT INTO athletisme(date_enregistrement) VALUES(now())"); ?> </form> </body> </html>
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant