Incrémenntation date

Résolu
pierre1098 Messages postés 82 Statut Membre -  
xXPika74Xx Messages postés 1 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
Configuration: Windows XP
Firefox 3.0.11

12 réponses

  1. xXPika74Xx Messages postés 1 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
  2. pierre1098 Messages postés 82 Statut Membre 2
     
    j'essaye sa ou exactement, dois-je remplacer tout mon script ? Car il me semble déjà avoir essayer cette fonction
    0
  3. xXPika74Xx Messages postés 1 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
  4. pierre1098 Messages postés 82 Statut Membre 2
     
    cette date va me permettre de lancer une alerte mail pour réactualiser une offre
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. xXPika74Xx Messages postés 1 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
  7. pierre1098 Messages postés 82 Statut Membre 2
     
    oui bien sur je suis en train de tester pour voir je te dit si sa marche
    0
  8. pierre1098 Messages postés 82 Statut Membre 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
  9. xXPika74Xx Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   13
     
    Peut tu me montrer le code sa sera plus simple pour voir l'erreur ^^
    0
  10. pierre1098 Messages postés 82 Statut Membre 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
  11. xXPika74Xx Messages postés 1 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
  12. pierre1098 Messages postés 82 Statut Membre 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
  13. xXPika74Xx Messages postés 1 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