thebarbarius Posté 26 Août 2008 Posté 26 Août 2008 Bonjour, Je souhaiterai comment faire afin que j'ai une table mysql, sql, qui s'increment de + 1 toutes les heures.
Kioob Posté 26 Août 2008 Posté 26 Août 2008 Hello, en utilisant une "tache planifiée" par exemple (cron, webcron, etc). Il me semble que c'est prévu en interne dans MySQL, mais pas dans les versions actuelles.
Portekoi Posté 26 Août 2008 Posté 26 Août 2008 Bonjour, Tu ne peux pas calculer l'écart entre deux "heures", cela serait plus simple Portekoi
Portekoi Posté 26 Août 2008 Posté 26 Août 2008 Voici un bon lien pour débuter en php : http://www.webmaster-hub.com/publication/M...-en-PHP-3e.html
thebarbarius Posté 26 Août 2008 Auteur Posté 26 Août 2008 Je connais très bien le php. Mais pour sa je bloque. C'est pour cela que je demande de l'aide
Kioob Posté 26 Août 2008 Posté 26 Août 2008 (modifié) Sans vouloir être méchant, ça me semble pourtant niveau débutant. Donc soit tu ne connais vraiment pas bien PHP, soit on a pas compris le problème... donc va falloir nous en dire plus. Sur quoi bloques tu exactement ? Modifié 26 Août 2008 par Kioob
olivesjs Posté 27 Août 2008 Posté 27 Août 2008 Bonjour, Comme le dis Kioob, tu peux utiliser une tache automatique (cron)(qui se lance toutes les heures) qui lance un script php qui lui incrémente ta base de données. @+
KaRaK Posté 27 Août 2008 Posté 27 Août 2008 Bonjour, Si la tache n'est pas trop critique et que tu peux te permettre de faire confiance à un service externe, il te suffira de saisir l'url de ton script d'incrémentation dans un service comme celui-ci : http://www.webcron.org/ Et il n'y a rien d'autre à faire
thebarbarius Posté 27 Août 2008 Auteur Posté 27 Août 2008 Je vais essayer par cron, . Le script c'est: J'ai une bdd avec une table. Dedans je met 1. J'aimerai que toute les heures elle s'increment de 1. Donc imaginons 3h se sont ecoulé, et bien ma table contiendra le chiffre 4, 1+3h=4. Voila, jespere que cela est comprehensible. Je suis desolé, je n'ai jamais manipuler les heures, c'est pour cela que je bloque. (a part aficher la date).
olivesjs Posté 27 Août 2008 Posté 27 Août 2008 Dans ta crontab tu peux ajouter la ligne suivante par exemple: 0 * * * * root /usr/bin/php /chemin/de/ton/script/php/tonscript.php et ton script php pourrait être: #!/usr/bin/php<?php$connexion=mysql_connect($host,$user,$password) or die("Connexion à la base de données impossible");$choix_base=mysql_select_db($db,$connexion) or die("Erreur Base de données");if ($choix_base){ $sql="UPDATE table SET ton_champ=(ton_champ+1) where ta_condition"; $req=mysql_query($sql) or die ("Erreur mise à jour de la base de données"); $fermee=mysql_close() or die("Impossible de fermer la base de données");}?> Voila j'espère que ca peut t'aider. ++
Dan Posté 27 Août 2008 Posté 27 Août 2008 Je dirais que c'est prendre un marteau piqueur pour casser une noix. Si lors de la première interrogation de ta base du stockes la date sous forme de timestamp (avec time()), pas besoin de rajouter une heure 24 fois par jour. Tu peux savoir le nombre de jours et heures écoulés à tout moment en retirant cette valeur du résultat que donne time() au moment où tu exécutes ton script. Cela te donne le temps écoulé en secondes. Si tu veux des heures, tu divises par 3600, tout simplement.
crocxx Posté 29 Août 2008 Posté 29 Août 2008 (modifié) Même sans passer par du timestamp cela peu être fait très facilement mais avec le format datetime de mysql et toute les fonction sur les dates qui peu être utilisé comme cela tout est fait dans les requêtes sans avoir a faire le moindre traitement avec php. http://dev.mysql.com/doc/refman/5.0/fr/dat...-functions.html Modifié 29 Août 2008 par crocxx
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant