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 :

conditions comparaison dates


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 43
    Par défaut conditions comparaison dates
    Bonjour

    J'aimerai à nouveau un petit coup de main......

    Le concept : un client réserve un rdv par le biais d'un formulaire. Les infos du formulaire sont renvoyées à une bdd. Parmi ces infos la date de l'enregistrement du formulaire.

    3 semaines plus tard (ou plus ou moins) la personne redemande un rdv par le bais de ce même formulaire et donc avec les mêmes infos.

    Sauf que j'aimerais s'il y a a moins d'un mois entre les deux saisies que la personne puisse apparaître un message sur ce même formulaire, lui demandant s'il est bien sûr de sa demande..... s'il répond oui le formulaire est envoyé .......

    S'il y a plus d'un mois pas de message....

    Comment écrire la requête de conditions de dates (inférieur ou supérieur à 1 mois ) ??? avec le fameux if et surtout comment différencier la date de la deuxième saisie possible avec la première qui elle est déjà dans la base.


    merci à vous

  2. #2
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 494
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 494

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 43
    Par défaut
    merci

    mais j'ai commencé à résoudre en partie mon problème avec un datediff, je travaille maintenant mon problème de message.

    angélique

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 16
    Par défaut
    Bonjour,

    la requete ci-dessous t affiche 1 si tu as besoin d'un message et 0 sinon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    set @date_premier_formulaire='2008-09-25';
     
    select if(
             DATEDIFF(now(),@date_premier_formulaire) < 30,
             1 ,
             0
             ) as avertissement

    mais le deuxieme formulaire de RDV annule le premier RDV ou bien ce sont deux entrées distinctes dans ta BDD?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 43
    Par défaut
    Bonjour

    non le deuxième ne remplace pas.

    En fait il y a un formulaire pour réserver. Si la personne a déjà réservé il y a moins d'un mois, j'aurais souhaité que sur ce même formulaire (afin que la personne ne puisse pas perdre ce qu'elle a déjà écrit) un message apparaisse, pour lui dire et lui proposer un simple RDV de suivi, si elle souhaite vraiment continuer elle n'a plus qu'à valider le formulaire.

    Problème j'ai mon formulaire qui s'appelle formulaire.php et qui est traité par une autre page qui s'appelle envoi.php

    J'ai trouvé pour le problème des RDV de moisn d'un mois sauf que si je fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    }else { echo $messerr=" message";}
    Ce message ne s'affiche pas sur mon formulaire de départ, mais le serveur affiche ma page envoi.php avec le message.

    Si je mets les infos de traitement ( qui étaient dans la page envoi.php) sur ma page formulaire.php cela n'est plus traité correctement du tout.

    Voici le début du 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
    <?php
    $dbhost = "localhost"; 
    $dbuser ="xxxxxxx";
    $dbpass="xxxxxxxx";
    $dbbase="xxxxxxxxxx";
    @mysql_connect($dbhost,$dbuser,$dbpass) or die("La Connexion a échouée");  @mysql_select_db($dbbase) or die("La Base $dbbase n'existe pas");
    $lieu_x= date("Y-m-d H:i:s");
     
     
    $requestclients = "SELECT * FROM `reservationeffy` WHERE  DATEDIFF (now(), lieu_x)<30  AND `id_nom`='$id_nom' ";
    // il faut ensuite executer la requête
    $result = mysql_query($requestclients);
    // puis lire le resultat 
    $nbre = mysql_result($result, 0);
    if ($nbre != 0) { echo "$messerr='message';"}
    else {
     
    /* On écrit dans la base les variables récupérées du formulaire*/
    $enregistrement = "INSERT INTO reservationeffy (id_nom,id_prenom,id_datenaissance,id_heurenaissance, id_lieunaissance,id_tel,id_profession,id_mail,id_commentaire,ip,lieu_x,id_joursdisponible1,id_plagehoraire1,id_joursdisponible2,id_plagehoraire2,id_joursdisponible3,id_plagehoraire3,id_moyenpaiement, id_photo1,id_photo2,id_enregistrement,id_retractation)  VALUES ('$id_nom','$id_prenom','$id_datenaissance','$id_heurenaissance','$id_lieunaissance','$id_tel','$id_profession','$id_mail','$id_commentaire','$ip','$lieu_x','$id_joursdisponible1','$id_plagehoraire1','$id_joursdisponible2','$id_plagehoraire2','$id_joursdisponible3','$id_plagehoraire3','$id_moyenpaiement','$id_photo1','$id_photo2','$id_enregistrement','$id_retractation')";    
    mysql_query($enregistrement);
    mysql_close();  suite ......
    Si tu as une idée ???

    merci à toi

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 16
    Par défaut
    Rebonjour

    a vrai dire j'ai du mal a suivre

    mais si tu veux afficher un message d'avertissement sur ton formulaire contenu dans formulaire.php alors dans ce cas fais la requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    $requestclients = "SELECT 
    	*,
    	if(
             DATEDIFF(now(),@date_premier_formulaire) < 30,
             1 ,
             0
             ) as moins_dun_mois
    
     FROM `reservationeffy` WHERE `id_nom`='$id_nom' ";
    ?>


    si la variable 'moins_dun_mois' est a 1 alors ton programme affiche le message
    sinon il ne l affiche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
    $res=mysql_query($sq);
    $obj=mysql_fetch_object($res);
    ?>
    <form>
    <?=($obj->moins_dun_mois)?"message d'avertissement":""?>
    <br />
     
    ici ton formulaire
    </form>

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 43
    Par défaut
    Bonjour

    en fait qu'il soit à mois ou à plus d'un mois le formulaire doit s'afficher dans les deux cas, c'est seulement le message qui doit s'afficher sur la page même du formulaire si il y a moins d'un mois.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 43
    Par défaut
    Excuse moi je t'avais mal lu, excuse-moi si je vais te poser des questions qui te paraitront stupides mais je ne connais pas beaucoup ces nouvelles écritures

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    $requestclients = "SELECT 
    	*,
    	if(
             DATEDIFF(now(),@date_premier_formulaire) < 30, 
             1 , [COLOR="Red"](qu'est-ce que je mets là) ?
             0 [/COLOR]( et là aussi)
             ) as moins_dun_mois et là encore ?
     
     FROM `reservationeffy` WHERE `id_nom`='$id_nom' ";
    ?>
    ce code je le mets donc sur envoi.php ??? donc sur la page de traitement ?

    et celui-là ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $res=mysql_query($sq);
    $obj=mysql_fetch_object($res);
    ?>
    <form>
    <?=($obj->moins_dun_mois)?"message d'avertissement":""?>
    je le mets donc sur ma page formulaire ???

    et le bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?=($obj->moins_dun_mois)?
    je mets quoi à la place ???


    merci

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 16
    Par défaut
    re

    on parle un dialogue de sourd je crois

    reprenons le process

    1/ le client va sur ton site

    2/ il s'identifie

    3/ il va sur la page formulaire.php

    a/le programme recupere les infos du client et préremplit le formulaire avec

    b/si le client a rempli le formulaire il y a moins d un mois alors le programme l'averti sinon le programme ne l'averti pas

    4/le client envoieles informations sur envoi.php

    c'est correct?

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 43
    Par défaut
    on parle un dialogue de sourd je crois

    reprenons le process

    1/ le client va sur ton site oui

    2/ il s'identifie non

    3/ il va sur la page formulaire.php oui

    a/le programme recupere les infos du client et préremplit le formulaire avec
    le programme ne récupère pas et ne préremplit, rien ! le client remplit à nouveau

    b/si le client a rempli le formulaire il y a moins d un mois alors le programme l'averti sinon le programme ne l'averti pas oui, en restant sur le même formulaire

    4/le client envoie les informations sur envoi.php par le biais de envoi.php oui

    c'est correct?

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 43
    Par défaut
    je te remercie de d'intéresser car tu vois c'est pour un site de conseils. Nous sommes consultants et nous sommes là pour aider pas pour rendre les gens dépendants de nous et dépenser tout leur argent.

    D'où là raison des avertissements si il y au un comportement de dépendance puis ensuite carrément bloquer l'envoi du formulaire si il y encore à nouveau une réservation pour le mois.

    et cette éthique importante pour moi, j'essaye d ela traduire en php/mysql

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 16
    Par défaut
    A vrai dire, si le client ne s identifie pas, je ne vois pas comment tu peux lui afficher un message personnalisé en fonction de la date de sa derniere requete.

    Sachant que le critere de nom que tu as retenu pour identifier la personne n'est pas valable car trop sujet à l'homonymie

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 43
    Par défaut
    je peux rajouter le mail aussi, c'est pas un problème sur d'autres je mets 3 facteurs de critère.

Discussions similaires

  1. [Dates] Comparaison date
    Par BenoitDenis dans le forum Langage
    Réponses: 16
    Dernier message: 29/03/2006, 13h50
  2. [Access] requete sql avec condition sur date
    Par qeja dans le forum Langage SQL
    Réponses: 4
    Dernier message: 25/03/2006, 23h54
  3. [VBA-E] Comparaison date / datetime
    Par dahu29 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 15/03/2006, 13h12
  4. [Dates] problème Comparaison dates
    Par gwen-al dans le forum Langage
    Réponses: 4
    Dernier message: 06/01/2006, 11h24
  5. Requete de suppression avec en condition une date
    Par PrinceMaster77 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 29/04/2004, 09h23

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