Incrémenntation date

Résolu
pierre1098 Messages postés 80 Date d'inscription   Statut Membre Dernière intervention   -  
xXPika74Xx Messages postés 115 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, voila depuis un petit moment j'ai un probleme pour incrémenter une date.En effet je souhaiterai ajouter 3 mois à une date par rapport à sa date de saisie dans un formulaire. Voici mon code il ya une partie consacré a l'incrémentation :


<?php
$null='';
$Nature = $_POST['nature'];
$Type = $_POST['type'];
$Superficie = $_POST['superficie'];
$Datedispo = $_POST['datedispo'];
$Prix = $_POST['prix'];
$Description = $_POST['description'];
$Commune = $_POST['commune'];


function incremente($Datedispo)
{
$T_année=split("-",$Datedispo);
$annee=$T_année[0];
echo ($annee);
$mois=$T_année[1];
echo ($mois);
$jour=$T_année[2];
echo ($jour);

if ($jour< 28)
{
$Datedispo <= $jour($Datedispo)+1 +$mois($Datedispo)+$annee($Datedispo);
}
else
{
if ($jour($Datedispo) <30 && $mois($Datedispo) <>2)
{
$Datedispo <= $jour($Datedispo)+1 +$mois($Datedispo)+ $annee($Datedispo);
}
else { if ($jour($Datedispo) <31 && $mois($Datedispo) <> 4 && $mois($Datedispo) <> 6 && $mois($Datedispo) <>9 && $mois($Datedispo) <> 11)
{
$Datedispo <= $jour($Datedispo)+1 +$mois($Datedispo) +$annee($Datedispo);
}
else
{
if ($jour($Datedispo) == 28 && $mois($Datedispo) == 2 && $annee($Datedispo) % 4 == 0)
{
$Datedispo <= $jour($Datedispo)+1 +$mois($Datedispo)+ $annee($Datedispo);
}
else {
if ($mois($Datedispo) <> 12) {
$Datedispo <- 01 + $mois($Datedispo)+1 +$annee($Datedispo);
}
else{
$Datedispo <= 01+ 01 + $annee($Datedispo)+1;
}
}
}
}
}
}

$nom = $_POST['nomstructure'];
$contact = $_POST['contact'];
$tel = $_POST['telephone'];
$adresse = $_POST['adresse'];
$codepostal = $_POST['CP'];
$ville = $_POST['ville'];
$mail = $_POST ['mail'];

If (($Type == $null) || ($Superficie == $null) || ($Datedispo == $null) || ($Description == $null) || ($Commune ==$null) || ($nom == $null) || ($contact == $null) || ($tel == $null) || ($mail == $null))
{
require('erreur.php');
}
Else
{

include('formulaire.php');

$requete = mysql_query("INSERT INTO agence (num,nom,contact,telephone,adresse,code_postal,agence.ville,mail) VALUES (null,'$nom','$contact','$tel','$adresse','$codepostal','$ville','$mail')") or die ('Erreur' .mysql_error());
$requete2 = mysql_query("SELECT num FROM agence WHERE nom ='$nom'");
$res=mysql_fetch_array($requete2);
$num=$res['num'];
$requete = mysql_query("INSERT INTO locaux (numero,nature,type,superficie,datedispo,datefin,prix,descriptif,commune,agence) VALUES (null,'$Nature','$Type','$Superficie','$Datedispo','$Datedispo','$Prix','$Description','$Commune','$num')") or die('Erreur' .mysql_error());
mysql_close();
}
?>

Si quelqu'un a une idée je suis preneur merci bonne journée
A voir également:

12 réponses

xXPika74Xx Messages postés 115 Date d'inscription   Statut Membre Dernière intervention   13
 
essaye sa

$calcule_date = date('d-m-Y', mktime(0, 0, 0,$mois + $NBMois , $jour , $annee));

avec $NBMois le nombre de mois que tu veut ajouter

$mois, $jour et $annee le jour le mois et l'annee de ta date de dépard

et 'd-m-Y' le format de ta date que tu peut aussie mettre sous la forme 'd/m/Y'

;) bonne journée


0
pierre1098 Messages postés 80 Date d'inscription   Statut Membre Dernière intervention   2
 
j'essaye sa ou exactement, dois-je remplacer tout mon script ? Car il me semble déjà avoir essayer cette fonction
0
xXPika74Xx Messages postés 115 Date d'inscription   Statut Membre Dernière intervention   13
 
garde une copie de ton scirpt au cas ou mais normalement essaye juste après ton split

après la ligne echo $jour;

tu copie cette ligne :
$NBMois = 3; vu que tu veut +3 mois
$calcule_date = date('d-m-Y', mktime(0, 0, 0,$mois + $NBMois , $jour , $annee));
avec un echo $calcule_date;

pour vérifier que la date et bien ce que tu veut

et tu supprime tout du if ($jour< 28)

jusqu'au } avant $nom

normalement sa devrait être bon



0
pierre1098 Messages postés 80 Date d'inscription   Statut Membre Dernière intervention   2
 
cette date va me permettre de lancer une alerte mail pour réactualiser une offre
0

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

Posez votre question
xXPika74Xx Messages postés 115 Date d'inscription   Statut Membre Dernière intervention   13
 
Par contre oublie pas d'attribuer la valeur de $calcule_date a la variable que tu utilise dans ta requète ;)

dit si sa marche ^^
0
pierre1098 Messages postés 80 Date d'inscription   Statut Membre Dernière intervention   2
 
oui bien sur je suis en train de tester pour voir je te dit si sa marche
0
pierre1098 Messages postés 80 Date d'inscription   Statut Membre Dernière intervention   2
 
sa me met une erreur qui a vrai dire ne me parle pas beaucoup



Notice: Undefined variable: calcule_date in C:\Program Files\EasyPHP 3.0\www\site\cible.php on line 84
ErreurIncorrect date value: '' for column 'datefin' at row 1
0
xXPika74Xx Messages postés 115 Date d'inscription   Statut Membre Dernière intervention   13
 
Peut tu me montrer le code sa sera plus simple pour voir l'erreur ^^
0
pierre1098 Messages postés 80 Date d'inscription   Statut Membre Dernière intervention   2
 
<?php
$null='';
$Nature = $_POST['nature'];
$Type = $_POST['type'];
$Superficie = $_POST['superficie'];
$Datedispo = $_POST['datedispo'];
$Prix = $_POST['prix'];
$Description = $_POST['description'];
$Commune = $_POST['commune'];


function incremente($Datedispo)
{
$T_année=split("-",$Datedispo);
$annee=$T_année[0];
echo ($annee);
$mois=$T_année[1];
echo ($mois);
$jour=$T_année[2];
echo ($jour);


$NBMois = 3;
$calcule_date = date('Y-m-d', mktime(0, 0, 0,$mois + $NBMois , $jour , $annee));
echo ($calcule_date);
}

$nom = $_POST['nomstructure'];
$contact = $_POST['contact'];
$tel = $_POST['telephone'];
$adresse = $_POST['adresse'];
$codepostal = $_POST['CP'];
$ville = $_POST['ville'];
$mail = $_POST ['mail'];

If (($Type == $null) || ($Superficie == $null) || ($Datedispo == $null) || ($Description == $null) || ($Commune ==$null) || ($nom == $null) || ($contact == $null) || ($tel == $null) || ($mail == $null))
{
require('erreur.php');
}
Else
{

include('formulaire.php');

$requete = mysql_query("INSERT INTO agence (num,nom,contact,telephone,adresse,code_postal,agence.ville,mail) VALUES (null,'$nom','$contact','$tel','$adresse','$codepostal','$ville','$mail')") or die ('Erreur' .mysql_error());
$requete2 = mysql_query("SELECT num FROM agence WHERE nom ='$nom'");
$res=mysql_fetch_array($requete2);
$num=$res['num'];
$requete = mysql_query("INSERT INTO locaux (numero,nature,type,superficie,datedispo,datefin,prix,descriptif,commune,agence) VALUES (null,'$Nature','$Type','$Superficie','$Datedispo','$calcule_date','$Prix','$Description','$Commune','$num')") or die('Erreur' .mysql_error());
mysql_close();
}
?>
0
xXPika74Xx Messages postés 115 Date d'inscription   Statut Membre Dernière intervention   13
 
Pourquoi tu utilise

function incremente($Datedispo) ??

Car si je lis bien ton code a aucun moment tu n'appelle cette fonction supprime

function incremente($Datedispo)
{
et le crochet a la fin

}

sa devrait mieux marcher ^^

dit si c'est bon ;)

0
pierre1098 Messages postés 80 Date d'inscription   Statut Membre Dernière intervention   2
 
eh bin écoute je te remercie ENORMEMENT car cela fait deux mois que j'essaye de faire sa et la tu ma donné un énorme coup de main merci beaucoup a toi
0
xXPika74Xx Messages postés 115 Date d'inscription   Statut Membre Dernière intervention   13
 
De rien sa a été un plaisir si tu a d'autre problème hésite pas ;)

passe ton sujet en résolu si tout fonctionne ;)
0