[RESOLU] Execution automatique d'une requete au lancement d'un site

Eléphant du PHP | 133 Messages

19 juin 2021, 08:54

Bonjour

Mon site est utilisé pour suivre un calendrier de tournoi.
J’aimerais mettre à jour automatiquement le statut de ces tournois. C'est à dire le passer, par exemple, de "Ouvert" à "Terminé" quand la date du jour est atteinte ou dépassée.
Bien sur cela veut dire que la première personne qui ouvre le site met à jour la BDD si la requête est au niveau de l'index par exemple.

Peut être avez vous d'ailleurs d'autres solutions ?

Merci

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

21 juin 2021, 10:58

La solution standard est de mettre en place un cron (=une tâche planifiée) qui va exécuter un script PHP qui va faire ton traitement chaque nuit.
A voir avec ton hébergeur s'il te permet de mettre en place un cron.


Sinon la solution de "cron du pauvre", c'est effectivement de noter dans une table à quelle heure tu as fait ton traitement de mise à jour. Et lors de l'appel d'une de tes pages, tu regardes si le traitement du jour a été fait, si oui, alors tu ne le refais pas, mais si non alors tu le fais avant d'afficher la page.
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 133 Messages

21 juin 2021, 18:50

Bonjour et merci
mon hébergeur permet de faire un CRON et donc de faire un srcypt PHP.

Donc si j'ai bien compris, je fais un petit code .PHP dans lequel je mets mes requêtes PHP

Mais ce fichier je le mets où? Mon hébergeur indique que le scrypt doit se trouver en
/usr/bin/php /home/u598174560/
Est-ce la racine de mon site?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

21 juin 2021, 19:35

Probablement la racine de ton FTP, mais demande à ton hébergeur si tu veux être sûr.
Ou sinon tu peux tester $_SERVER['DOCUMENT_ROOT'] ou la fonction realpath() sur un de tes fichiers : https://www.php.net/manual/fr/function.realpath.php
Quand tout le reste a échoué, lisez le mode d'emploi...