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

Langage PHP Discussion :

Création Alerte PHP


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Par défaut Création Alerte PHP
    Bonjour à tous,

    Voila j'aimerais savoir comment faire une alerte deux jour avant la date de fin d'echance.

    Dans ma base de donée j'ai une date de fin.

    Si la date de fin d'echeance arrive j'aimerais que cela m'affiche sur la page du client, votre contrat arrive à échéance le ....

    Merci de votre aide

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 127
    Par défaut Rappel
    Si je me plante ça devrait marcher comme ca

    Calcul de demain et apres demain :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $demain= mktime(0,0,0,date("m" )  ,date("d" ) + 1,date("Y" )    );
    $apresDemain= mktime(0,0,0,date("m" )  ,date("d" ) + 2,date("Y" )    );
     
     
    mysql_query("Select * from contrat where dateEcheance between $demain and $apresdemain and idclient=$id")

    Bon dev

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Par défaut
    et comment faire pour afficher l'alerte lol

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    include("header.php"); 
     
    $base = mysql_connect ($host,$user,$pass);
            mysql_select_db ($bdd,$base); 
     
     
    $demain= mktime(0,0,0,date("m" ) ,date("d" ) + 1,date("Y" ) );
    $apresDemain= mktime(0,0,0,date("m" ) ,date("d" ) + 2,date("Y" ) );
     
     
     
     
    mysql_query("Select * from abonnement where fin between $demain and $apresdemain and login=$login")

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 127
    Par défaut Affichage
    On récupère le résultat de la requete mysql

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $res=mysql_query(.....);
     
    while ($r=mysql_fetch_assoc($res)) 
    {echo 'Contrat arrivant à échéance : '.$r['fin']; }
    echo date('Ymd',$demain); donnera la date au format 20091106 (utile suivant comment est stocké la date dans la base de données)

    Lol à donf

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Par défaut
    tu peu me montrer le code complet car si c'est dans 30 jour normalement cela m'affiche pas j'ai fais comme ca :

    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
     
    <?php
    include("header.php"); 
     
    $base = mysql_connect ($host,$user,$pass);
    		mysql_select_db ($bdd,$base); 
     
     
    $demain= mktime(0,0,0,date("m") ,date("d") + 1,date("Y") );
    $apresDemain= mktime(0,0,0,date("m") ,date("d") + 2,date("Y") );
     
    mysql_query("Select * from abonnement where fin between $demain and $apresDemain and login='$login'");
     
     
     
     
    // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)  
    $res=mysql_query("Select * from abonnement where fin and login='$login'");
     
    while ($row=mysql_fetch_assoc($res)) 
    {
    echo 'Contrat arrivant à échéance : '.$row['fin']; 
    }
     
     
     
    ?>

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Par défaut
    ma date dans la base est affiche ainsi 02-11-2009

  8. #8
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 127
    Par défaut code incomplet
    Le code complet ça va être dur, surtout que j'ai pas compris la phrase :

    tu peu me montrer le code complet car si c'est dans 30 jour normalement cela m'affiche pas j'ai fais comme ca :
    En plus je ne connais pas la structure de la base de données c'est une date AAAAMMJJ ? ou AAMMJJ ou MMJJ? ...

    Jarod test la requête sur PHPmyAdmin et a partir de la ça devrait marcher.

    Bon dev

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Par défaut
    Alors en faite on prend la date du jour 07-11-2009 il va cherche la din de fin dans la basse et j'aimerais en faite qu'il m'affiche l'alerte 2 jour avant la date d'echeance

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Par défaut
    dans ma base c'est jj-mm-annee donc pour m'expliquer clairement j'ai une date ou le contrat à été fais et une date echeance j'aimerais que deux jour avant la date de fin de contrat que cela m'affiche que le contrat arrive a échéance

  11. #11
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 127
    Par défaut
    Citation Envoyé par jarod6827 Voir le message
    dans ma base c'est jj-mm-annee donc pour m'expliquer clairement j'ai une date ou le contrat à été fais et une date echeance j'aimerais que deux jour avant la date de fin de contrat que cela m'affiche que le contrat arrive a échéance
    Donc si on est mardi (02-11-2009) et que l'echeance est jeudi, on affiche le mardi le contrat à renouveller (du jeudi 04-11-2009) .
    D'ou la recherche des échéances demain 03-11-2009 et après demain 04-11-2009 par rapport à la date du jour 02-11-2009.

    C'est comme ça que mon code fonctionne

    A priori en operant de cette façon tu as tous les élements pour y arriver, à moins que j'ai loupé une info ?

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Par défaut
    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
    26
    27
    28
    29
    30
     
    <?php
    include("header.php"); 
     
    $base = mysql_connect ($host,$user,$pass);
    		mysql_select_db ($bdd,$base); 
     
     
    $demain= mktime(0,0,0,date("m") ,date("d") + 1,date("Y") );
    $r1 = date('d-m-Y',$demain);
     
    $apresDemain= mktime(0,0,0,date("m") ,date("d" ) + 2,date("Y") );
    $r2 = date('d-m-Y',$apresDemain);
     
     
     
     
    // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)  
    $res=mysql_query("Select * from abonnement where fin='".datefr($date)."' between $r1 and $r2 and login='$login'");
     
    echo "Select * from abonnement where fin='".datefr($date)."' between $r1 and $r2 and login='$login'";
     
    while ($r=mysql_fetch_assoc($res)) 
    {
    echo 'Contrat arrivant à échéance : '.$r['fin']; 
    }
     
     
     
    ?>
    Mais rien ne s'affiche

    voila le resultat de la requette
    Select * from abonnement where fin='07-11-2009' between 08-11-2009 and 09-11-2009 and login='cwmulhouse'

  13. #13
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 127
    Par défaut ok
    ok j'avais loupé

    Select * from abonnement where fin='".datefr($date)."' between $r1 and $r2 and login='$login'";
    C'est plutot

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "Select * from abonnement where fin between $r1 and $r2 and login='$login'"

  14. #14
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Par défaut
    ben j'ai fais ca y a rien qui s'affiche y a t'il un format a prendre dans la base de donnée

  15. #15
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 127
    Par défaut Requete ?
    J'ai crée un équivalent de ta base (fin est une date )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT *
    FROM `abonnement`
    WHERE fin
    BETWEEN '2009-11-13'
    AND '2009-11-13'
    Me sort bien mon enregistrement du 13

  16. #16
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Par défaut
    oui mais ma question la base fin et en varchar il faut mettre date moi j'ai mis ce que tu ma dit mais j'ai pas de resultat

  17. #17
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Par défaut
    ce que je voulais dire il n'affiche pas le whiles comme quoi le contrat ce termine le 09-11-2009

  18. #18
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Ne serait-ce pas plus simple de procéder :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM `abonnement` WHERE STR_TO_DATE(`fin`, '%d-%m-%Y') BETWEEN CURDATE() AND DATE_ADD(CURDATE(), INTERVAL 2 DAY) AND `login` = '$login'
    Il n'y aurait plus qu'à exploiter le résultat en PHP ?

    Mais à l'avenir il faudrait penser aux types DATE

  19. #19
    Membre expérimenté
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 127
    Par défaut ok dac
    Citation Envoyé par jarod6827 Voir le message
    oui mais ma question la base fin et en varchar il faut mettre date moi j'ai mis ce que tu ma dit mais j'ai pas de resultat
    Ah une chaine et pas une date
    Oui dans ce cas la on va pas chercher de between on va faire la requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT *
    FROM `abonnement`
    WHERE fin='13-11-2009' OR fin='14-11-2009'

  20. #20
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 173
    Par défaut
    yes ca marche nickel crome merci a vous deux pour l'aide

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

Discussions similaires

  1. création site php
    Par mcvovol dans le forum Langage
    Réponses: 6
    Dernier message: 02/04/2012, 02h34
  2. Création arborescance PHP+Mysql
    Par R1D3M4N dans le forum Requêtes
    Réponses: 9
    Dernier message: 20/05/2008, 14h31
  3. [Tableaux] Création tableau Php
    Par Jabbou dans le forum Langage
    Réponses: 6
    Dernier message: 02/10/2007, 12h49
  4. Aide création page php
    Par TheBananier dans le forum Langage
    Réponses: 2
    Dernier message: 06/03/2007, 16h06
  5. [Configuration] Création en php de sous sites
    Par guiguistuder dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 19/09/2006, 00h56

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