IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Modification d'une date


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 298
    Par défaut Modification d'une date
    bonjour bon je travail avec dreamWeaver et php pour realiser une appliacation par web
    bon j'ai une table commande(n°cde, N°client, Ref pack, Date cde(date system), qt cde, Duree abonnement)
    bon j'ai realiser un formilaire de saisie qu'avec N°client, ref pack qt cde et duree)
    la duree est de 1ans et jusqua 3 ans l'utilisateur dois choisi parmis ces dernier mais dans l'ajout dans la table je dois ajouter la date
    exemple : $datecde=date('d/m/y', strtotime($date_cde);
    si le client a choisi la duree 1ans
    alors je dois ajouter dans le champ duree_cde la date_cde + 1 ans ($duree_cde=$datecde+1 ans)
    le probleme comment faire l'addition pour la date precisement l'année
    voila mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    <?php
    $etat=0;
    $numc_cde=$_POST['numc_cde'];
    $refp_cde=$_POST['refp_cde'];
    $qt_cde=$_POST['qt_cde'];
    $duree_cde=$_POST['duree_cde'];
    $datecde=date('d/m/y' , strtotime($date_cde));
    if($numc_cde =='')
    {
    echo '<font size="4" face="Verdana, Arial, Helvetica, sans-serif">
                      <div align="center"><font color="#FD0000"> 
    <p align=center> <img src="../images/cancel.png" width="18" height="24"> Veuilez choisir un Client !!</p>';
    $etat=1;
    }
    if($refp_cde =='')
    {
    echo '<font size="4" face="Verdana, Arial, Helvetica, sans-serif">
                      <div align="center"><font color="#FD0000"> 
    <p align=center> <img src="../images/cancel.png" width="18" height="24"> Veuilez choisir un pack !! Svp</p>';
    $etat=1;
    }
    if($qt_cde =='')
    {
    echo '<font size="4" face="Verdana, Arial, Helvetica, sans-serif">
                      <div align="center"><font color="#FD0000"> 
    <p align=center> <img src="../images/cancel.png" width="18" height="24"> veuillez saisir la QT ? Svp</p>';
    $etat=1;
    }
    if($duree_cde =='')
    {
    echo '<font size="4" face="Verdana, Arial, Helvetica, sans-serif">
                      <div align="center"><font color="#FD0000"> 
    <p align=center> <img src="../images/cancel.png" width="18" height="24"> Veuilez choisir la duree !! Svp</p>';
    $etat=1;
    }
    if ($etat ==0) 
    {
    if($duree_cde==1)
    {
    $duree=$datecde+1
    include"connexion.php";
    $req[] ="insert into `commande` values('', '$numc_cde', '$refp_cde', '$datecde', '$qt_cde', '$duree');";

  2. #2
    Membre expérimenté
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    185
    Détails du profil
    Informations personnelles :
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 185
    Par défaut
    Bonsoir,

    En gros, tu veux ajouter 1, 2, ou 3 ans à la date courante ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $now = date( 'U' );
    $now += $nb_years * 365 * 24 * 60 * 60;
    $date = date( 'd/m/y', $now);
    $date sera la date dans exactement $nb_years an

    Sinon, il faut voir avec les objets DateTime, et date_add, mais je ne connais pas très bien

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Fais l'ajout dans ta requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $req[] ="insert into `commande` values('', '$numc_cde', '$refp_cde', DATE_ADD('$datecde',INTERVAL 1 YEAR), '$qt_cde', '$duree');";
    Ce que tu mets LoveAngel n'est pas juste car une année n'a pas toujours le meme nombre de jours.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 298
    Par défaut ok
    Citation Envoyé par sabotage Voir le message
    Fais l'ajout dans ta requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $req[] ="insert into `commande` values('', '$numc_cde', '$refp_cde', DATE_ADD('$datecde',INTERVAL 1 YEAR), '$qt_cde', '$duree');";
    Ce que tu mets LoveAngel n'est pas juste car une année n'a pas toujours le meme nombre de jours.
    Bonjour bon j'ai fais ta requette mais quand j'ai fais l'ajout dans la table il m'as ecris 09/11/2012 moi je veux ajouter une année par rapport a l'année du date system exemple:
    la date ajourd'huit c'est 17/11/2008 quand le client va choisir une duree de 1ans la date dois etre 17/11/2009
    et quand le client choisis duree de 2ans la date dois etre 17/11/2010 etc
    bon quand meme merci beaucoup pour vos reponses et svp aide moi

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 298
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Fais l'ajout dans ta requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $req[] ="insert into `commande` values('', '$numc_cde', '$refp_cde', DATE_ADD('$datecde',INTERVAL 1 YEAR), '$qt_cde', '$duree');";
    Ce que tu mets LoveAngel n'est pas juste car une année n'a pas toujours le meme nombre de jours.
    bon j'ai oublié quand j'execute ma requette il me sorte un deboguage erreur en sql
    je veux ajouter la date du system dans le champ date_cde et dans le champs duree que je veux fair l'addition apartir du date system est ca depend de la duree (1,2,3)
    voila ce que j'ai fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    <?php
    $etat=0;
    $numc_cde=$_POST['numc_cde'];
    $refp_cde=$_POST['refp_cde'];
    $date_cde=date('y/m/d');
    $qt_cde=$_POST['qt_cde'];
    $duree=$_POST['duree'];
     
     
     
    if ($etat ==0)
    {include"connexion.php";
    if($duree==1)
    {
    $sql="insert into `commande` values('', '$numc_cde', '$refp_cde', '$date_cde' , '$qt_cde', DATE_ADD('$date_cde',INTERVAL 1 YEAR)";
     
    mysql_query($sql) or die("Erreur en sql". mysql_error());
     
    echo'<p font size="4" face="Verdana, Arial, Helvetica, sans-serif">
    <div align="center"><font color="#003399"><br> La Commande est ajouter avec successee <img src="../images/ok.png" width="18" height="24"> </p></div>';
    require('saisie_cde.php');
    }
    }
    ?>

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    bon j'ai oublié quand j'execute ma requette il me sorte un deboguage erreur en sql
    on peut connaitre l'erreur ?

    mysql prend des dates au format "y-m-d" pas "y/m/d"

    mais si tu pars de la date du jour autant faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DATE_ADD(NOW(),INTERVAL 1 YEAR)
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 298
    Par défaut ok
    Citation Envoyé par sabotage Voir le message
    on peut connaitre l'erreur ?

    mysql prend des dates au format "y-m-d" pas "y/m/d"

    mais si tu pars de la date du jour autant faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DATE_ADD(NOW(),INTERVAL 1 YEAR)
    ok ca va merci ca marche 100 %
    voila le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    if($duree==1)
    {
    $sql="insert into `commande` values('', '$numc_cde', '$refp_cde', '$date_cde' , '$qt_cde', DATE_ADD(NOW(), INTERVAL 1 YEAR))";
    }
    elseif($duree==2)
    {
    $sql="insert into `commande` values('', '$numc_cde', '$refp_cde', '$date_cde' , '$qt_cde', DATE_ADD(NOW(), INTERVAL 2 YEAR))";
     }
     else
     { 
     $sql="insert into `commande` values('', '$numc_cde', '$refp_cde', '$date_cde' , '$qt_cde', DATE_ADD(NOW(), INTERVAL 3 YEAR))";
     }
    mysql_query($sql) or die("Erreur en sql". mysql_error());
    ?>
    je lui dis si le client a choisi la duree 1ans alors faire l'addition d'un ans apartir du date systeme
    sinon la duree est 2 ans alors fais moi l'addition de 2ans apartir du date system etc
    cela fonctionne parfaitement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WB17] Modification valeurs à une date précise
    Par Nassimux dans le forum WebDev
    Réponses: 4
    Dernier message: 22/04/2014, 14h26
  2. modification d'une date avec conversion vers mysql
    Par MlleL dans le forum Requêtes
    Réponses: 1
    Dernier message: 12/05/2013, 06h36
  3. [AC-2003] Requête pour sortir tous les enregistrements modifés depuis une date
    Par piercleo dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 07/01/2010, 15h08
  4. probléme modification d'une date déja saisie?
    Par dj_techno dans le forum Bases de données
    Réponses: 1
    Dernier message: 15/09/2008, 13h52
  5. [Utilisation] Récupérer les modifications depuis une date donnée
    Par Sapience dans le forum CVS
    Réponses: 1
    Dernier message: 15/02/2006, 12h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo