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 :

Modifier la base de manière automatique


Sujet :

PHP & Base de données

  1. #1
    Membre actif Avatar de MANU_2
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 417
    Points : 275
    Points
    275
    Par défaut Modifier la base de manière automatique
    Dans une table, j'ai un champ delai ainsi que 2 autres champs de type date (date1 et date2).

    Je dois comparer l'une des 2 date (date1) avec la date d'aujourd'hui, prendre la + récente puis calculer le delai entre cette date et la 2ème (date2).
    Cela doit ce faire tout les jours et automatiquement.

    Es ce faisable ?
    Si comment ?

    Pour l'instant, je décompose le pb comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    // Récupérer les dates d'arrivée et demandée 
    $texte = 'SELECT Date_arrivee, Date_dem FROM job'; 
    $result = mysql_query($texte) or die(mysql_error());	
     
    while ($tab_job = mysql_fetch_array($result))  
    {  
    	// Comparer la date d'arrivée et la date d'aujourd'hui 
     
    	// Calculer le délai
     
    	// MAJ de la BD
     
    }
    Et je voudrais que ce script s'éxécute qu'une seul par jour, mais comment faire ?

    Si vous avez d'autres solutions ou idées, n'hésitez pas à me les faire partager.

    Merci

  2. #2
    Membre éclairé
    Avatar de genova
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 487
    Points : 790
    Points
    790
    Par défaut
    Pour le script une seule fois par jour tu as deux solutions :
    1) Utilisez une tache cron
    2) Faire un truc genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $content = file('cron.txt');
    $time = intval($time[0]);
     
    if (time() > $time + (3600 * 24))
    {
       $fd = fopen('cron.txt', 'w');
       fwrite($fd, time());
       fclose($fd);
     
       // ICI LE SCRIPT QUE TU LANCES UNE FOIS PAR JOUR
    }
    par contre cela implique qu'une personne au moins se rende sur cette page une fois par jour ...
    Testez le forum Fire Soft Board, un forum libre, gratuit et français.

    Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP.

  3. #3
    Membre actif Avatar de MANU_2
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 417
    Points : 275
    Points
    275
    Par défaut
    C'est quoi une tache cron ?

  4. #4
    Membre éclairé
    Avatar de genova
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 487
    Points : 790
    Points
    790
    Par défaut
    Un truc qui part au lavage avec ariel anti-cron 8)

    Je ne suis expert en la question, mais il me semble qu'il s'agit d'un programme sous linux permettant d'éxécuter une page tous X temps que tu définis, donc une fois par jour par exemple.
    Testez le forum Fire Soft Board, un forum libre, gratuit et français.

    Système de template de phpBB - Lisez la FAQ PHP avant toute question si vous débuttez en PHP.

  5. #5
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    exact,

    Il faut utiliser l'executable php pour faire une tâche répétitive ( avec par exemple CRON sous linux ou Task Scheduler sous windows )

  6. #6
    Membre actif Avatar de MANU_2
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 417
    Points : 275
    Points
    275
    Par défaut
    J'utilise Windows.

    Task Scheduler a l'air d'être payant, ce qui m'intéresse pas.

  7. #7
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    sous Windows (je ne sais pas avec quelles versions) tu as la commande "at" qui fait la même chose que "cron" sous Linux

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 60
    Points : 81
    Points
    81
    Par défaut
    Task Scheduler a l'air d'être payant
    Euh... sous Windows, il y a un task scheduler gratuit (enfin... inclus), c'est le planificateur de tâches et il est dans le panneau de config (chez moi en tous cas, Win 2k) (taches planifiées).

    at (je connaissais pas) semble d'ailleurs utiliser ce service, ce diot être une interface etxte pour le contrôler.

    Au prix de Windows, c'est quand même le minimum que de fournir un scheduler...

    --
    Rom_1

Discussions similaires

  1. actualisation d'une base de données automatiquement
    Par klimero dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 6
    Dernier message: 19/01/2006, 18h07
  2. Modifier la base de registre Windows
    Par Janitrix dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 18/10/2005, 19h17
  3. Réponses: 8
    Dernier message: 23/03/2005, 19h28
  4. Réponses: 7
    Dernier message: 05/01/2005, 13h43
  5. [C#] Modifier une base de donnée
    Par Macintoc dans le forum Accès aux données
    Réponses: 15
    Dernier message: 03/06/2004, 11h49

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