requete sql à heure fixe

Petit nouveau ! | 2 Messages

10 juin 2010, 08:39

Alors après avoir posté dans plusieurs forum et n'ayant toujours pas de réponse j'essaie ici...

Je travail actuellement sur un intranet, la base de donnée était déjà faite ainsi que le site. Je suis en stage et je dois "mettre à jour" les problèmes qui n'ont pas été résolu par les informaticiens car le développement c'est pas leur truc^^

Bref, sur l'intranet de la clinique où je suis en stage, il y a une page où l'on peut voir la liste des médecins, infirmière... qui sont de garde. Cette est affiché par la requête de la page qui affiche en fonction du jour de la garde.

Le problème c'est qu'une garde ne commence pas à minuit ... une garde commence à 08h00 le matin et fini à 08h00 le lendemain.
Les secrétaire souhaitent donc que la liste des gardes changent tout les jours à 08h00, je n'ai pas d'idée pour effectuer ce ce changement :?

Mes tables concernées sont:

cdgdegarde
idService (int)
idIntervenant (int)
date (date)

cdgintervenant
idIntervenant (int )
nom (varchar)
telephone (varchar)

cdgservice
idService (int)
libService (varchar)

Voilà le code qui a été mis en place par la personne qui a crée l'intranet:

$tsConsult=$tabVariables[0];
$dateToConsult=$tabVariables[1];
$ts = (mktime()); //On récupère le TimeStamp du lundi
if ($dateToConsult!=""){
$list=explode("-",$dateToConsult);
$ts = (mktime(0,0,0,$list[1],$list[2],$list[0],0));
}
if ($tsConsult!=""){
$ts=$tsConsult;
}

$avant = $ts - 86400; //TimeStamp Lundi précédant
$apres = $ts + 86400; //TimeStamp Lundi suivant
$valDate="";
$dateAff=date('d M Y',$ts);
$date=date('Y-m-d',$ts);
$valDate.="$date";
$time=date('H:m:s');

$reqListServ=verifReq("SELECT * FROM cdgservice");
$cptColor=0;


while($rowServ=mysql_fetch_object($reqListServ)){
$cptColor++;
$idServ=$rowServ->idServ;
$reqLiaison=verifReq("SELECT d.idInt,nom,telephone
FROM cdgdegarde d,cdgintervenant i
WHERE d.idInt=i.idInt
AND idServ='$idServ'
AND date='$date'");

Eléphanteau du PHP | 18 Messages

27 juin 2010, 09:24

salut !!

En toute logique , il faut cette requête soit commandée par ton OS , si c'est linux il faut créer un fichier .sh par exemple qui lui fera appel a ton script php a heure fixe , grace au gestionnaire de tache linux "Cron"

sinon avec windows c est simple aussi :)

ViPHP
ViPHP | 1136 Messages

27 juin 2010, 09:38

Slt ,

si j'ai bien compris , tu as une page affiché , et tu souhaites qu'à 8h , elle se "rafraichisse" automatiquement ?

Si c'est le cas , un simple script JS te fera l'affaire .

Script qui détecte l'heure .. seconde par seconde ( tu peux d'ailleurs en profiter pour afficher l'heure à l'écran ).

Si l'heure == 08h00:00 alors .. tu fais un refresh de ta page ...

Voilà en gros pour le principe ... à améliorer car il se peut que le refresh passe à la trappe si JS prend du retard et saute deux ou trois secondes à ce moment là ..

Mais l'idée est là .

good luck
Ch.