Champ date valeur par défaut

Répondre
ju3979
le 08/08/2007 à 08:50
ju3979
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
LA GLOBULE
le 08/08/2007 à 10:03
LA GLOBULE
<?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.
ju3979
le 08/08/2007 à 10:21
ju3979
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
LA GLOBULE
le 08/08/2007 à 10:37
LA GLOBULE
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)
ju3979
le 08/08/2007 à 10:39
ju3979
ok d'accord et si jamais je veut préciser des minutes par exemple 10h30
je dois mettre quoi ?
LA GLOBULE
le 08/08/2007 à 10:41
LA GLOBULE
Modifier le premier if du code pour modifier le test.
Ca doit pouvoir se faire simplement.
ju3979
le 08/08/2007 à 11:00
ju3979
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
LA GLOBULE
le 08/08/2007 à 11:23
LA GLOBULE
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.
ju3979
le 08/08/2007 à 11:30
ju3979
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
LA GLOBULE
le 08/08/2007 à 11:50
LA GLOBULE
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 ;)
Répondre
LoadingChargement en cours