Pb convertir la date recupere sur formaulaire

Fermé
eliancra Messages postés 65 Date d'inscription lundi 1 septembre 2008 Statut Membre Dernière intervention 4 janvier 2019 - 15 oct. 2008 à 16:04
hani_ Messages postés 333 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 18 novembre 2009 - 16 oct. 2008 à 18:00
Bonjour,
j'ai 1probleme concernat mon formulaire
j'ai creer un formulaire en html avec le champs date
compose comme ceci jour (1 à31) mois(1à12) annee
j'aimerai savoir comment recuperer ces donne et le convertir en format date jour-mois-annee et les affecte dans un champs dtae que j'ai creer dans ma base de donne mysql.

5 réponses

okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
15 oct. 2008 à 20:33
Tu récupère les 3 partie de date avec POST

Ensuite tu utilise ce code :
$date= date("Y-m-d", mktime($mois, $jour, $annee));

tu remplace les 3 variables par leur correspondants.
-1
eliancra Messages postés 65 Date d'inscription lundi 1 septembre 2008 Statut Membre Dernière intervention 4 janvier 2019 1
16 oct. 2008 à 11:24
bonjour okuni, et merci pour ta reponse ça m'a l'air trop interressant je vais l'essayer tout de suite.
voila je suis venu modifier mon mesage car je vien de l'essayer un message d'erreur est renvoyer

Warning: mktime() expects parameter 2 to be long, string given in C:\Program Files\EasyPHP 2.0b1\www\test\validation.php2 on line 19
ensuite quand je dit print date la date renvoyer est 1 javier 1970 donc ma date n'est pas prise en consideration que doij faire merci
-1
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
16 oct. 2008 à 17:45
excuse moi, je me suis trompé.
en fait, le code complet est ceci :
$date = (Heures, Minutes, Secondes, Mois, Jour, Année);

donc tu dois remplacer heures, minutes et seconde pas 0
ce qui donne
$date = date("Y-m-d", mktime(0, 0, 0, $mois, $jour, $annee));
-1
hani_ Messages postés 333 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 18 novembre 2009 20
16 oct. 2008 à 17:52
J'ai fait quelque fonction dans le temps qui fonctionne encore (et dont je me sert encore.)

Le premier sert a transformer la date aaaa-mm-jj (format bdd) en jj/mm/aaa (affichage web)
La seconde fait le contraire pour récupérer une date affichée au format web jj/mm/aaa et l'inclure dans une base en format aaaa-mm-jj
	function afficherDate($date){
	  	if (!empty($date) && $date!="0000-00-00"){
			$liste=explode("-",$date);
			if (count($liste)==3 && strlen($liste[0])==4)
				return $liste[2]."/".$liste[1]."/".$liste[0];
			else
				return $date;
		}
		return "";
	}

	function bddDate($date){
		if ($date!=''){
			$liste=explode("/",$date);
			if (count($liste)==3 && strlen($liste[2])==4)
				return $liste[2]."-".$liste[1]."-".$liste[0];
			else
				return $date;
		}
		return 'NULL';
	}


voila a toi de savoir quoi en faire.
-1
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 126
16 oct. 2008 à 17:55
tu te complique la vie.
si tu a une date en bdd, il te suffit de faire lors du SELECT :
query("SELECT DATE_FORMAT(date, '%d/%m/%y') as date

et tu aura directement ta date en format jj/mm/aa
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
hani_ Messages postés 333 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 18 novembre 2009 20
16 oct. 2008 à 18:00
tout dépend de la quantité de date a traiter...
et puis créer une fonction php comme ça ça me prend moins de temps que de me pencher sur du sql...

je sais je devrait m'intéresser au sql plus en profondeur. C'est un tord... mais je m'en sors très bien comme ça sans connaissance poussée du sql... Le jour ou je serais obligé je regarderais de plus près.

En attendant merci pour le petit bout de sql... je saurais qu'il existe.
-1