récupérer la date d'un eregistrement dans une bdd

fque1
Invité n'ayant pas de compte PHPfrance

04 oct. 2005, 17:16

Bonjour,

je cherche, lors d'un enregistrement de données dans une bdd à récupérer la date et heure de l'enregistrement

pour l'afficher ensuite dans une autre page :

ex: j'ai un système d'inscription à une newsletter, et je souhaite obtenir la date de l'inscription

pouvez vous m'éclairer

merci

Eléphant du PHP | 357 Messages

04 oct. 2005, 17:31

mm je pense que c'est pas vraiment ca que tu cherches mais rajoute un champ dans ta table avec la date du jour.
Lorsqu'une personne s'enregistrera la date du jour s'inscrira dans la base.

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

04 oct. 2005, 17:32

Il a raison : au moment où tu insères, tu appelles la fonction SQL NOW() et tu ajoutes un champ 'dateInscription' à ta table :)
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

fque1
Invité n'ayant pas de compte PHPfrance

04 oct. 2005, 17:37

j'ai deja rajouter le champs date au format DATE dans ma bdd mais a chaque enreg. je n'obtient que 0000-00-00

comprend pas

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

04 oct. 2005, 17:40

Si tu ne met rien dans ton champ, il ne se rempli pas tout seul

Comme le dit mere-terese, il faut que tu utilise une fonction SQL
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

Invité
Invité n'ayant pas de compte PHPfrance

04 oct. 2005, 17:44

directement dans ma requete ?

Eléphant du PHP | 357 Messages

04 oct. 2005, 17:47

ou en php :
$d=strtotime('today');
$date_du_jour = strftime('%d/%m/%Y %H:%M:%S',  $d );
ca te permet de mettre la date au format que tu souhaites :lol:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

04 oct. 2005, 17:49

ou en php :
$d=strtotime('today');
$date_du_jour = strftime('%d/%m/%Y %H:%M:%S',  $d );
ca te permet de mettre la date au format que tu souhaites :lol:
comme le dit seayoung ou directement dans la requete

Code : Tout sélectionner

INSERT INTO table(champ1, ... , date) VALUE ('valeur', ... , NOW())
Personnellement, je préfère la solution de Seayoung car elle te permet de modifier le format de la date ;)
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éphant du PHP | 357 Messages

04 oct. 2005, 17:52

hihi merci c'est ce que j'utilise :lol:
car apres ca te permet de faire également plein de chose avec cette date
bien qu'il soit probable qu'avec le sql on puisse faire aussi plein de chose :roll:

Invité
Invité n'ayant pas de compte PHPfrance

04 oct. 2005, 17:59

ca ne fonctionne pas, voila ma requete :

Code : Tout sélectionner

$sql = "INSERT INTO t_newsletter(id, date, nom, prenom, email) VALUES('','$date', '$nom','$prenom','$email')";
avec les variables
$d=strtotime('today');
$date = strftime('%d/%m/%Y %H:%M:%S',  $d );

Eléphant du PHP | 357 Messages

04 oct. 2005, 18:08

quel est le message d'erreur ?
car normalement ca doit marcher
$d=strtotime('today');
$date = strftime('%d/%m/%Y %H:%M:%S',  $d );

$sql = "INSERT INTO t_newsletter(id, date, nom, prenom, email) VALUES('','$date', '$nom','$prenom','$email')";

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

04 oct. 2005, 18:12

$sql = "INSERT INTO t_newsletter (id, date, nom, prenom, email) VALUES('','$date', '$nom','$prenom','$email')";
date est un mot réservé : tu n'as pas le droit de l'utiliser pour nommer un champ de ta table. [-X

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

04 oct. 2005, 18:15

2 autres recommandations :

- Si tu ne veux pas attribuer de valeurs à un champ (ici : id),
retire-le de la description de ta table dans ta requête.

- fais attention à l'utilisation des ' et des "
et veille à "sortir" les vcariables PHP des chaînes de caractères

Est-ce que ceci fonctionne mieux ?
$sql = "INSERT INTO t_newsletter (date_inscription, nom, prenom, email) VALUES('".$date."', '".$nom."','".$prenom."','".$email."')";

Invité
Invité n'ayant pas de compte PHPfrance

04 oct. 2005, 18:23

a priori la requete fais ce qu'il faut (je viens de tester en changeant le nom de la table et les valeurs sont les bonnes)

mais dans ma base j'ai toujours 0000-00-00, quel format faut-il donné au champs date de la table ? j'ai essayé DATE DATETIME et cela ne fonctionne pas

Invité
Invité n'ayant pas de compte PHPfrance

04 oct. 2005, 18:25

ca y est j'ai changé mon champs DATE en VARCHAR et ca passe !!

Merci à tous