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 valeur d'un champs dans une table mysql en fonction du temps.


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 15
    Points : 10
    Points
    10
    Par défaut Modifier la valeur d'un champs dans une table mysql en fonction du temps.
    Bonjour,
    Je vous présente mon problème:
    Dans le cadre du développement d'une application web , je doit modifier la valeur d'un booléen stocké en BD(mysql) tous les dimanche a 23h59 pour lui attribué la valeur 0.
    Comment faire ?

  2. #2
    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
    Points : 44 155
    Points
    44 155

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    J'ai bien lu le cours seulement j'ai pas tout compris, je compte utiliser la methode At sur un server windows, j'ai repris les fonctions mises a disposition en fonction de ma situation en faisant des test l'execution de mon script ne se fait pas !
    voici le code :
    rechercheEnCours.php
    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    function trouvePHP()
    {
    	if (! file_exists('./rechercheEnCours'))		/* rechercheEnCours est un fichier */
    	{			/*  créé au début de la recherche et effacé à la fin. */
    		@set_time_limit(0);				/* 30 secondes risque de ne pas faire assez */
    		$fp = fopen('./rechercheEnCours', 'w');		/* on crée rechercheEnCours */
    		fclose($fp);
    		$cheminsTrouves = Array();			/* le tableau ou on stockera les réponses de dir */
     
    		for ($lecteur=67; $lecteur < 91; $lecteur++)	/* $lecteur prend les codes ascii des lettres de c à z */
    		{
    			/* on se place à la racine du lecteur et on cherche un fichier php.exe */
    			/* les résultats sont placés dans $cheminTrouvés */
    			exec('cd /d '.chr($lecteur).':\\ && dir /s /b php.exe', $cheminsTrouves); 
    		}
     
    		unlink('./rechercheEnCours');
    		echo $cheminsTrouves[0];
    		return $cheminsTrouves[0];			/* nous nous contenterons du premier résultat */	
    	}else{
    		echo ("Le script de recherche a été interrompu pendant une recherche précédente<br />");
    		echo ("Il n a sans doute pas eu le temps de se terminer");
    		echo ("Vous devriez contacter votre administrateur pour trouver l emplacement du fichier php.exe");
    		unlink('./rechercheEnCours');	
    	}
    }
    function ajouteTache($heure, $minutes, $jours, $fichier)
    {
    	$pathPhp = trouvePHP();					/* le chemin vers php.exe */
    	$listeJours = implode(',', $jours);			/* la liste de jours au format attendu */
     
    	/*la commande, le résulat est mis dans $res */
    	$res = shell_exec('at '.$heure.':'.$minutes.' /Every:'.$listeJours.' "'.$pathPhp.' -f '.$fichier.'"');
     
    	$motsRes = explode(' ', $res);				/* on récupère les différents mots */
    	return $motsRes[count($motsRes)-1];			/* l'id est le dernier mot */
    }
    function effaceTache($id)
    {
    	if (! empty($id))
    	{
    		shell_exec('at '.$id.' /delete /yes');
    	}
    }
    $jours = Array();
    $jours[] = 'd';
     
    $heure = '23';
    $minutes = '59';
     
    $script = 'D:\\wamp\\www\\Cantine\\reinitSaisie.php';
     
    $id = ajouteTache($heure, $minutes, $jours, $script);	/* vous pouvez vérifier l'insertion en lançant at sans argument */
     
    effaceTache($id);
    reinitSaisie.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $connect = mysql_connect("localhost","root","");
    mysql_select_db("cantine",$connect);
    mysql_query("UPDATE utilisateur SET aSaisie='0';")or die(mysql_query);
    mysql_query("UPDATE utilisateur SET retard='0';")or die(mysql_query);

  4. #4
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Sur les windows "modernes" tu peux utiliser les "tâches planifiées" plutot que les commandes AT.

Discussions similaires

  1. [AC-2003] Récupérer la valeur d'un champ dans une table
    Par lex89 dans le forum VBA Access
    Réponses: 4
    Dernier message: 15/05/2012, 10h35
  2. Réponses: 1
    Dernier message: 31/08/2009, 22h48
  3. Réponses: 2
    Dernier message: 29/06/2008, 19h16
  4. Modifier les valeurs de certains champs d'une table
    Par Xorbane dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 22/10/2007, 22h10
  5. Réponses: 4
    Dernier message: 07/08/2006, 16h19

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