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 ?
Version imprimable
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 ?
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
reinitSaisie.php:Code:
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);
Code:
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);
Sur les windows "modernes" tu peux utiliser les "tâches planifiées" plutot que les commandes AT.