Champ date valeur par défaut
j'ai un formulaire que les utilisateurs doivent remplir
J'ai fait un script php pour récupérer les données dans une table
Je souhaiterias mettre une valeur par défaut dans mon champ date
C'est à dire que par défaut la date afficher dans le cahmp date doit être date= date +1 jour
Ensuite je voudrais que tous les jours à partir de 15h la valeur dans le champ date passe automatiquement à date= date +2 jour
Je sais pas comment procéder
Pouvez vous m'aider
Merci
<?php
if (date('G') > 15) {
// jour + 2
$date = strtotime("+2 day");
}
else {
// jour + 1
$date = strtotime("+1 day");
}
// on forme le format de la date
$date = date('d/m/Y', $date);
?>
A toi de former le format de date que tu souhaites obtenir lors de la dernière instruction du bout de code.
Ensuite, ben il te suffit de faire un echo de $date dans le champ de ton formulaire.
Bonjour
Je viens d'essayer ton code
Il marche bien pour date + 1 day
Mais par contre j'ai modifié le 15 pour mettre 10
if (date('G') > 10) {
// jour + 2
$date = strtotime("+2 day");
Mais cette condition ne marche pas. Dans mon formulaire la date reste à date + 1 day
Pouvez vous m'aider merci
Normal :)
if (date('G') > 10) : tu ne rentreras dans ce test qu'à partir de 11 heures :) Or il n'est pas encore 11h. Il faut mettre un supérieur ou égal.
Par contre, en me relisant, j'ai vu qu'il y avait une faute.
Voila le bon code :
<?php
if (date('G') > 10) {
// jour + 2
$date = strtotime("+2 days");
}
else {
// jour + 1
$date = strtotime("+1 day");
}
// on forme le format de la date
$date = date('d/m/Y', $date);
?>
(2 days et non 2 day)
ok d'accord et si jamais je veut préciser des minutes par exemple 10h30
je dois mettre quoi ?
Modifier le premier if du code pour modifier le test.
Ca doit pouvoir se faire simplement.
ok
par ocntre dans mon champ date du formulaire ma date s'affciche sous la forme JJ/MM/AAAA
mais dans ma table c'est sous la forme AAAA/MM/JJ
Ce qui fait que ça donne des mauvaises date dans ma table
Comment modfier le format date dans ma table?
Merci pour ton aide
Dans la table, tu ne pourras pas.
Il faut que tu transformes la date juste avant de l'insérer en base pour la transformer au format AAAA/MM/JJ.
ok et de qu'elle maniere ??
j'ai essayé de mettre dans mon script de traitement du formulaire
$date = date('Y-m-d');
mais ça ne change rien ,dans ma base sql il me met toujours des dates fantaisistes
Merci de ton aide
Imaginons que tu reçoives une date sous la forme JJ/MM/AAAA et que tu veuilles la passer en AAAA-YY-JJ.
<?php
$date = '01/10/2005';
$Tdate = explode('/', $date);
echo sprintf('%s-%s-%s', $Tdate[2], $Tdate[1], $Tdate[0]);
?>
PS : prend l'habitude de lire la documentation PHP. Par exemple aux sections "dates" et / ou "chaines de caractères". Toutes les fonctions que j'ai utilisés dans ces exemples sont simples, et tu aurais pu les trouver ;)