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
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  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.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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