Slimer Posté 4 Août 2007 Posté 4 Août 2007 Bonjour à tous. Voilà j'ai une idée mais je ne sais comment la mettre en place sur mon site. Je voudrais faire un UPDATE dans ma base de donnée mysql en fonction de l'heure du serveur. En clair je voudrais que lorsqu'il est 0H tel tel champ dans tel table soit mit à jour. Quelqu'un peut-il m'éclairer?
fingolfin Posté 4 Août 2007 Posté 4 Août 2007 (modifié) Utilises les crons si tu en as la possibilité, sinon tu met sur chacune de tes pages une condition exploitant date() et time() afin de définir l'heure et donc s'il faut faire la mise à jour ou non (le problème étant dans ce cas là qu'à chaque chargement de page de 24h00 à 1h00 il y aura une requête supplémentaire (celle qui dira "c'est déjà à jour" ou "c'est pas déjà à jour") à cause du faites qu'il y a peut de probabilité qu'un utilisateur charge une page à 00h00 00s.) Donc le mieux reste une petite tâche cron toute simple appelant un script tout les jours à minuit. Si tu ne connais pas les crons et donc certainement l'éditeur Vim : Cron : http://doc.ubuntu-fr.org/cron Vim : http://doc.ubuntu-fr.org/vim (les commandes dépendent de la version bien sûr) Modifié 4 Août 2007 par fingolfin
Slimer Posté 4 Août 2007 Auteur Posté 4 Août 2007 Hum je pense prendre l'option date() Mais je ne vois pas comment definir les parametres de mon date() justement via un mktime?
fingolfin Posté 4 Août 2007 Posté 4 Août 2007 (modifié) Personnellement j'utilise time() pour obtenir le timestamp, si tu veux utiliser mktime() tu peux tout à fait le faire D'ailleurs en y pensant, ce que je dis est un peut faux, vérifier l'heure ne sert pas totalement, en réalité il faut vérifier qu'il est plus de minuit PUIS que la mise à jour a été faites (car si personne ne se connecte entre 00h00 et 5h00 par exemple ce serait dommage que la mise à jour ne se fasse pas ) Modifié 4 Août 2007 par fingolfin
Slimer Posté 4 Août 2007 Auteur Posté 4 Août 2007 (modifié) HUm je vien de tester ceci if (date("14:50")){echo "ok";} Mon ok s'affiche même si il n'est pas 14H50 Modifié 4 Août 2007 par Slimer
fingolfin Posté 4 Août 2007 Posté 4 Août 2007 (modifié) Euh date() ça ne marche pas comme ça, pour vérifier s'il est 14h50 il faut faire la condition suivante : if(date('G') == 14 AND date('i') == 50){ echo 'Il est 14h50 et tout va bien!';} http://www.php.net/manual/fr/function.date.php Modifié 4 Août 2007 par fingolfin
Slimer Posté 4 Août 2007 Auteur Posté 4 Août 2007 Ok merci la sa marche nikel Dernière question : si je met se script dans une des mes pages et que je place un UPDATE si la condition est rempli (en l'occurrence la date) mon update va se faire tout seul même si personne va sur le site?
fingolfin Posté 4 Août 2007 Posté 4 Août 2007 Non justement, c'est pour cela que je te conseille une tâche cron, mais du moment que personne ne se connecte il n'y a de toute façons aucun problème à ce que l'UPDATE n'ai pas lieu vu que personne ne sera là pour le voir normalement
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant