problème de date

Mammouth du PHP | 601 Messages

21 juin 2006, 00:02

Bonjour à tous,
j'ai un problème de date :
J'ai un champs caché que j'enregistre dans ma db dans un champ nommé 'date' de type datetime(). L'ennui est que Mysql enregistre 0000-00-00 00:00:00 et pas la date de soumission de mon formulaire.
Mais comme je ne sais pas si mysql, prend la datetime au moment de la requette. Donc je me demande si je ne pas faire ainsi, mais sa ne fonctionne pas. Parceque j'aurrai besoin de garder l'enregistrement en fonction de ma constente de lang fr != en.
ce code affiche
http://creatif-web.be/projet/index.php
print "<span class='red'><input type=\"hidden\" name=\"date\" /></span>";
		##############Jour en français
	      if (MY_LANG == french) {
	setlocale(LC_TIME, "fr");
	$date=strftime("%A %d %B %Y %Z");
	echo "<span class='red'>Le ".$date." comme fuseau horraire</span>";
	} else {
		setlocale(LC_TIME, "en");
		$date=strftime("%A %d %B %Y %Z");
	echo "<span class='red'>The ".$date."</span>";}
	################Jour en anglais %Z = fuseau horraire
	// Affichage des langues disponible
Merci d'avance
http://xavier-artot.com
¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·°'´¨
système d'exploitation "Ubuntu 7.10"

Mammouth du PHP | 601 Messages

21 juin 2006, 00:09

En faite je dois être dans le même format pour que sa rentre dans le format de mysql ?
Autant l'enregistrer en varchard ?
Mais en faite si le champ est caché je ne peux pas l'enregistrer dans base de donnée ?
http://xavier-artot.com
¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·°'´¨
système d'exploitation "Ubuntu 7.10"

Mammouth du PHP | 601 Messages

21 juin 2006, 00:20

J'ai trouvé une réponse, bizarrement le faite de poster m'aide à réfléchir, alors merci.
http://xavier-artot.com
¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·°'´¨
système d'exploitation "Ubuntu 7.10"

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

21 juin 2006, 10:10

Tu peux donner ta solution, cela pourra éventuellement servir à d'autre, bien qu'à mon avis tout ce dont tu avais besoin de savoir au sujet des dates se trouve déjà dans la FAQ :)

Sinon pour répondre aux questions :
En faite je dois être dans le même format pour que sa rentre dans le format de mysql ?


Le format de mysql concernant les datetime est effectivment "aaaa-mm-jj hh:mi:ss". Quand tu insères ou met à jour un enregistrement ce doit être dans ce format. Idem quand tu fais un select, tu récupèreras ton champ sous cette forme.
Autant l'enregistrer en varchard ?

Ca peut se faire, bien que le fait de le stocker dans un format date permet d'utiliser toutes les fonctions relatives aux dates (comparaison, extraction du mois, ajout de jours etc.)
Mais en faite si le champ est caché je ne peux pas l'enregistrer dans base de donnée ?

Si le champ est caché, l'utilisateur ne peut pas le renseigner, mais derriere tu lui donnes les valeurs que tu veux, et tu mets ce que tu veux dans ta base :)

Eléphant du PHP | 134 Messages

21 juin 2006, 10:27

J'ai trouvé une réponse, bizarrement le faite de poster m'aide à réfléchir, alors merci.
C'est normal puisque tu es obligé de bien expliquer ton problème ton tu réfléchis plus.

Mammouth du PHP | 601 Messages

21 juin 2006, 13:59

Solution :
Je test la langue avec la constante par défault elle est à french
derrière j'insère la valeur avec ma requette d'insertion :
$resultat="insert into projet (date) values ('$date')";
je fais ma requete...
et le tout est est dans la table.
		##############Jour en français
	      if (MY_LANG == french) {
	setlocale(LC_TIME, "fr");
	$date=strftime("%A %d %B %Y");
	echo "<p class='date'>Le ".$date."</p>";
	} else {
		setlocale(LC_TIME, "en");
		$date=strftime("%A %d %B %Y");
	echo "<p class='date'>The ".$date."</p>";}
	################Jour en anglais %Z = fuseau horraire
Par contre pour le champ caché je ne vois pas le fonctionnemant, quelqu'un aurrai-t_il un tuto peut-être dans la faq ?[/code]
http://xavier-artot.com
¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·°'´¨
système d'exploitation "Ubuntu 7.10"